12時間に2回のボタンの使用を制限できるコードが必要です。私はjqueryメソッドを使用していますが、悲しいかな、ユーザーがページを更新するときに、再度クリックすることができます。ボタンを制限する必要があります
データベースにはクリック数の項目がありませんが、それがの場合はが必要です。事前に感謝:D
12時間に2回のボタンの使用を制限できるコードが必要です。私はjqueryメソッドを使用していますが、悲しいかな、ユーザーがページを更新するときに、再度クリックすることができます。ボタンを制限する必要があります
データベースにはクリック数の項目がありませんが、それがの場合はが必要です。事前に感謝:D
この目的のためにクッキーを使用することができます。そして、ここであなたが作成することができますどのように完全な詳細情報があり、jqueryの
create, read, and erase cookies with jQuery
を使用して読み取ると、消去クッキーは、これはあなたのために働くことを願っています。
セキュリティ機能の場合、これを管理するための安全な方法はありません。あなたはサーバー側でそれを処理する必要があります。そうでない場合は、クッキーが制限されているので、クッキーの代わりにlocalStorageを使用してください。クッキーが多すぎるとリクエストを拒否するJava-Serverに問題があります。
if(!localStorage.hasOwnProperty("buttonClicks")) {
localStorage.buttonClicks = 0;
} else if(typeof localStorage.buttonClicks !== "number"){
localStorage.buttonClicks = 0;
}
// save as variable to ensure the user will not modify it on the fly
var buttonClicks = localStorage.buttonClicks;
button.on("click",function(e){
// maybe reset timeout on click to delete the buttonClicks
if(buttonClicks >2) {
return;
}
localStorage.buttonClicks++;
buttonClicks++;
// do something
});
このメソッドにはセキュリティはまだ含まれていません。ユーザーは、開発者ツールの値を1に設定した後、ページをリロードすることができます。だから、彼はツールの使い方を知ってから12秒で4回クリックすることができます。
PHPはより良い選択肢ですか? –
だけでPHPを処理することはできません。ユーザーはページをリロードすることができ、カウンタはデフォルト値になります。 'session_start(); if(!isset($ _ SESSION ['clicks'])){$ _ SESSION ['clicks'] = 0;}'それをデータベースに保存するか、サーバーセッションに保存する必要があります。セッション変数をチェックするバックエンドのメソッドを持つajax-function – Mephiztopheles
これは、ユーザーを制限したい範囲に依存します。以下の私は考えることができる方法のリストです:ユーザーのブラウザを再開くか、別のブラウザを開き、彼はただクリックすることができたときに
あなたはこの.. –
ああのためにクッキーを使用することができ、私は笑 –
@CameronBonessちょうどクッキーやHTML5のストレージに日付/タイムスタンプを保存する方法は考えています。次にクリック時の現在の時間と比較します。それはクライアント側のストレージなので、ユーザーがそのデータを変更する能力の範囲内にあるので注意してください。それ以外の場合は、サーバーに情報を格納する必要があります。 –