私は最近、jQuery の AJAX 関数を使用する投票/賛成票機能を持つ Web サイトを作成しました。問題は、誰でも投票できることです。訪問者がログインする必要はありません。訪問者の IP を追跡することも、長期の Cookie を保存することもありません。通常 (笑わないでください)、ユーザーが何かに投票すると、投票した項目の ID を JavaScript 配列に保存します。ユーザーが投票しようとするたびに、スクリプトは ID の配列をチェックして、特定のアイテムに最近投票したかどうかをチェックします。持っている場合は、警告ダイアログが表示されます。それ以外の場合は、投票します。したがって、ユーザーが再度投票するために必要なことは、ページを更新することだけであることは言うまでもありません。
(URL バーまたは Web コンソールに) JavaScript を挿入するとどうなるかを確認することにしました。
for (var i = 0; i < 100; i++) { vote(itemID); }
(そしてそれはいいことです)。配列が停止しない理由はわかりませんが、それは問題ではありません。これを悪用するのは常に簡単ですよね?つまり、私の Web サイトの投票ページを何度でも呼び出す JS を使用して、小さな HTML ドキュメントを作成することもできます。
ですので、無理をせずに直していただきたいです。JavaScript で不変変数を作成することは可能ですか? 定数 (ただし、一度だけ変更できる定数などがあると本当に助かります)? これをある程度修正する最も簡単な方法は、ID 保持配列を半一定に保つことです。削除することはできませんが、追加することはできます。提案、解決策、または説明は大歓迎です。