ある種のブラウザー識別 ID を使用して特定のブラウザーを追跡するための選択肢は次のとおりです (そのため、特定のユーザーが誰であるかを知ることができます)。
- クッキー
- ローカルストレージ
1200 ボタンの状態を保存するための選択肢は次のとおりです。
- サーバーによって Web ページに与えられた状態のサーバー側ストレージ
- Cookie (おそらくデータをボタンごとに 1 ビットに折りたたむ必要があります 0
- ローカルストレージ
したがって、たとえば、ブラウザーを識別する値を Cookie に保存することと、実際のボタンの状態をサーバー側のデータベースに保存することを組み合わせることができます。次に、ページがレンダリングされるときに、Cookie にある browserID のデータベースでボタンの状態を検索し、レンダリングされた HTML ページから関連するボタンを無効にするか削除します。
1200 個のボタンの状態をボタンごとに 1 ビットに折りたたむことで、すべてのストレージを Cookie に保存できます。AZ と az と 0-9 といくつかの記号を使用すると、文字ごとに 64 個の値を簡単に持つことができ、文字ごとに 32 個のボタンのオン/オフ状態を保存できるため、1200 個のボタンのオン/オフ状態を保存できます。クッキーに簡単に収まる 38 文字です。各ボタンの時刻/日付も保存する必要がある場合、それは Cookie に収まらないため、サーバー側のストレージまたはローカル ストレージに任せられます。
参考までに、クライアント側のスキームは非常に簡単に回避できることを理解していただければ幸いです。実際、ユーザーが同じ URL に複数回アクセスするのを防ぎたい場合は、元の URL をブックマークするだけで、Web ページにアクセスしなくても好きなだけそこにアクセスできます。または、Cookie またはローカル ストレージを消去することもできます。または、別のブラウザーに移動することもできます。
複数回のアクセスを防止する唯一の現実的な方法は、ユーザー認証を要求し、特定のログイン ユーザーが特定のページを表示する前にそのページへのアクセスを許可されていることを (Web サーバー上で) 検証することです。したがって、これを確実に行いたい場合は、すべてサーバー側で行う必要があり、何らかのサイト ログインが必要になります。