2

私はログインする必要のない投票システムを持っています。IP をブロックするか、そのようなものを使用して、1 日に 1 回投票できるように設定する方法を知りたいです。私はデータベースを持たないことを好みます

<script type="text/javascript">

var clicks = 0;
function linkClick(){
document.getElementById('clicked').value = ++clicks;
}

document.write('<a href="#" onclick="linkClick()">Vote Now!</a>');

$('#clicked').parent().bind('click', function(evt) {
$(this).unbind('click');   
/* do long time task....

evt.preventDefault();
});


</script>

You have clicked the link <input id="clicked" size="3" onfocus="this.blur();" value="0" > times

このコードはそのままでは、使用投票を 1 回だけ許可します。24 時間ごとに html で行いたいと思います。よろしくお願いします

4

2 に答える 2

3

これを javascript や HTML で安全に実装することはできません。その理由は、Web ユーザーとして、ユーザー インターフェイスを使用せずに、Cookie をクリアしたり、新しいブラウザーを開いたり、プログラムでサーバーを呼び出したりできるからです。これは、Web ページの外観に関係なく、実際に 1 日に 2 回送信するのを防ぐために、サーバー上に何かが必要であることを意味します。

ユーザー ログインを使用して、ユーザーが 2 回投稿していないことを確認することをお勧めします。

于 2011-02-06T03:14:48.603 に答える
0

Cookie を作成し、毎日それをチェックして、すでに投票したかどうかを確認できます。JCO611 は正しいですが、これは簡単にバイパスされます。サーバー側のコードを使用することをお勧めします。

JavaScript での Cookie の詳細については、 http ://www.quirksmode.org/js/cookies.html を参照してください。

于 2011-02-06T03:13:37.233 に答える