2016-03-21 5 views
0

私は一意の訪問者ごとにヒットカウンタを作成しようとしています。しかし、私はすべてのユーザーに一意のIPアドレスを取得する方法を見つけることはできませんと同時に、そのユーザーがページを100回リフレッシュし、ヒットカウンタテーブルをスパムすることを防ぎます。ヒットカウンタを使用してユニークビジターIPを取得する方法とスパムのカウントを防ぐ方法

すべてのページは、私がこのクエリからヒットを取得、私は$ _GETを使用して取得するユニークな別名[「別名」]

があります

$click = "SELECT hits FROM snm_content WHERE alias = '".$conn->real_escape_string($_GET['alias'])."'"; 

ユーザーがページを訪れるたびに、私が欲しいです訪問したページと同じエイリアスを持つヒットカウンタ.1を追加してスパムをチェックします。

これを達成する最も良い方法は何ですか?

+2

訪問者を区別するためにIPに頼ることはできません Entrepriseは1000人の従業員を持つ一意のIPパブリックアドレスを持ちますが、それらはすべて一意のユーザーとみなされますか? –

+0

個々のページまたはすべてのページの各ユーザーをカウントしますか?したがって、ip xアクセスページ1とページ2を持つユーザーが2回または1回だけカウントしたい場合は、 –

+0

あなたのSQLクエリはSQLインジェクションに対して脆弱です。 – Techie

答えて

1

あなたの訪問者を識別するためにIPアドレスを使用する理由はありますか?

もしそうでなければ、初めてユーザーがあなたのウェブサイトにアクセスしたときに設定されるクッキーを使用することができます。

その時から、ユーザがあなたのクッキーを持っているならば(もしそうでなければ、設定して)、そのクッキーを持つPCが既にそのページにあったかどうかを確認することができます。それは私が考えることができる最も簡単な解決策です。

+0

したがって、Cookieの値またはセッションの値をデータベースに保存する必要がありますか?それを比較する。 – twan

+0

あなたはIPの代わりにすべてのPCをチェックしています.1つ以上のPCになる可能性があります。 – Maaikebrwr

関連する問題