私のウェブサイトでは、投票があります。これは、Cookie ベースの投票です。ユーザーが投票すると、現在の投票で Cookie が作成されるため、新しい投票が作成されるまで投票できません。ユーザーが Cookie を削除して再度投票できることはわかっていますが、それは問題ではありません。
ajax投稿を処理するajax.phpページがあります。コードは次のとおりです。
if(isset($_COOKIE['poll_id']) && $_COOKIE['poll_id'] == $poll_id)
{
// print message that it is already voted, show the results...
}
else
{
// update the database and create a cookie
}
ボタンのクリックで投票が行われる場合、このコードは正常に機能します。しかし、私はこれを行っている Firebug で JavaScript を開始しました:
for(var i=0;i<100;i++) {
jQuery.post('ajax.php', {
//post parameters
});
}
そして私は100票を獲得します。スクリプトを再度実行すると、Cookie が作成されるため失敗しますが、100 の同時要求を行うと、システムが時間内に Cookie を作成する時間がないと推測されるため、チェックが失敗するようです。したがって、すべての更新が行われます。
これを解決する方法について何か提案はありますか?