2016-06-22 3 views
1

私は現在、同じアクションを再度実行する前にカウントダウンがある機能に取り組んでいます。サーバー側のカウントダウン変数を保存する

意味:アクションを実行すると、30秒間待ってからアクションを再実行する必要があります。

私の問題は、JS機能を使用する場合、ユーザーがカウントダウンをリセットするために単にページを再入力することができないことを確認するにはどうすればいいですか?

私はそれが役立つ場合、私はMySQLデータベースを持っています。

ありがとうございます。

+0

保存ユーザのログイン/ IP_ADDRESS最後のアクションの日時。 –

+1

セッションをDBに保存することをお勧めします。正確さを高めるために、IPも監視することができます。したがって、ユーザーがクッキーをクリアしても、依然としてユーザーはその操作を実行できません。 DBにセッションを保存する方法については、次を参照してください。http://culttt.com/2013/02/04/how-to-save-php-sessions-to-a-database/ – Mojtaba

+1

PHPサーバー、質問からjavascriptタグを削除してください。 – CuriousCoder

答えて

1

ユーザーがカウントダウンをリセットまたは不正行為するのを避ける唯一の方法は、サーバー側でそれを実装することです。

問題はユーザーを識別するためのもので、キャッシュやCookieなどをリセットするだけでは問題ありません。そのための一般的な解決策はありませんが、通常、カウントダウンを必要とする問題は、関連する識別情報を持っています。

過去の例では、ユーザーログインのようなソリューションを実装しました。パスワードが間違っているとしばらくの間、新しいパスワードを再入力することはできません。この場合、識別は明確です:ユーザーのログイン。もちろん

セキュリティが大きな問題でない場合は、単純な解決策がたくさんあります:タイマー、クッキーなど

ソリューション

は、任意の操作試行を実行、ユーザーから上:任意のユーザーが既に同じ識別して、短い時間前にしようとした場合、データベース内の

  • チェックは、(ログイン?)
  • をはい、ちょうどエラーメッセージを返す場合。
  • ない場合は、操作
  • 保存指定した時間が経過するまで、その新しい試みができない、データベース内のタイムスタンプとしてみてください新を実行..
関連する問題