1

codeigniter を使用して記事ベースの Web サイトを作成しようとしています。記事を表示するためにデータベースから取得するように要求された場合、次のコードを使用して、「ヒット」と呼ばれる別のテーブルで各記事の一意の表示回数をマークします。

mysql_query("INSERT INTO hits(ip,article_slug,hitcount) 
             VALUES('$ip_address','$id',1)
           ON DUPLICATE KEY UPDATE hitcount=hitcount+0");

ユーザーの IP アドレスを取得し、$this->uri->segment(3); から article_slug の値を取得します。次に、上記の mysql クエリを実行します。

ここでは IP アドレスを使用してユニーク ビューの数を取得していますが、突然、複数の人が同じ IP アドレスを使用している可能性があることに気付きました。その場合、上記のクエリは効果的ではないようです。

そのため、どのような方法が効果的かを考えてみました。私の友人の 1 人が、IP アドレスの代わりに Cookie を使用することについて話していました。それは良い考えだと思いますか、それとももっと良い方法がありますか?

これを行う方法についてアイデアを教えてください。

前もって感謝します :)

4

2 に答える 2

0

Google アナリティクスを使用して、記事の閲覧のみを追跡するカスタム レポートを設定することをお勧めします。これにより、求める洞察に加えて、さらに多くの情報が得られ、ボット (Google、Bing、SPAMer など) のカウントを回避できます。

しかし、どうしても自分でユーザーを追跡したい場合は、あるフィールドで IP アドレスを追跡し、別のフィールドでセッション ID を追跡することをお勧めします。

session_start();

$user['ip']  = $_SERVER['REMOTE_ADDR'];
$user['sid'] = session_id();
于 2012-05-11T19:05:32.163 に答える
0

Cookie を使用する理由は、一部のユーザー グループがプロキシの背後にある場合、記事を読んだすべてのユーザーに対して同じ IP アドレスを取得するためです。これは間違っています。

したがって、両方を組み合わせて使用​​することで、より良い結果を得ることができます。Cookieまたはセッションのいずれかを使用できます。しかし、Cookie を使用して約 1 年以上の有効期限を設定し、Cookie に一意のハッシュ (ログ テーブルの主キーの md5 など) を指定すると、ユーザーをかなりうまく追跡できます。

私の言っていることが理解できない場合はお知らせください。

于 2012-05-11T19:07:16.483 に答える