質問: 概要 -- PHPを使って自分のサイトを開設したばかりの者です。 cookieについてわからないことがあるので質問させていただきます。 最近、cookieを用いて、ユーザーのサイトの訪問回数を表示させるようにしました。 実装自体は上手くいったのですが、リロードするたびに訪問回数が増えてしまいます。 **リロードしても訪問回数が増えないようにしたい**と思っています。 ソースコード ------ ``` //cookie.php ``` ``` //index.php ```
回答: **仕様を明確にしてください。以下2点ほど想定で書きます** 一定時間内の訪問をカウントしない ================ session に最終訪問時間を記録し、一定時間内であれば cookie のカウントを増やさないようにします。 特定のページからの遷移以外カウントしない ==================== 遷移元のページでワンタイムトークンを付与し判定させます。 サーバサイドで session に保存した token と比較させます。 その際、ワンタイムトークンなので、再生成して session の値を変更することを忘れないで下さい。 参考 == 仕様がよく分かりませんが、以下の記事の考え方が湾口になると思います。 さいきょうの二重サブミット対策 ダブルサブミットに対しての記事ですが、cookie の場合にも使える方法が記述されています。