php - 一定時間内に複数回送信することはできませんか?
仅有的幸福
仅有的幸福 2017-05-27 17:42:53
0
4
716

たとえば、1 分以内に 5 つのラベルが生成されると、「頻繁に操作するため、確認コードを入力してください」というメッセージが表示されます。

どう対処すればいいでしょうか?

仅有的幸福
仅有的幸福

全員に返信(4)
PHPzhong

これは、キーが count の場合、redis を使用して実装するのに非常に便利です。
送信するたびに Redis からカウントを取得します

  1. カウントが空の場合は、カウント値を 1 に設定し、タイムアウトを 1 分に設定して、通常どおり送信します

  2. ;
  3. カウント値が空ではなく、5 以上の場合、「操作が頻繁に発生します。確認コードを入力してください」というエラー メッセージが報告されます。

  4. カウント値が空ではなく、5未満の場合は、通常通り送信され、カウント値は1増加します。
いいねを押す +0
曾经蜡笔没有小新

各タグの生成時間を記録します
1分間に4つのタグしか生成できないというルールの場合、5番目のタグについてエラーが報告されます
5番目のタグを追加する前に、最新の4つのタグのうちの1つ目を比較するだけです現在の時刻と比較した各時刻の生成時刻が 60 秒を超えているか? そうでない場合は、エラーが報告されます。

いいねを押す +0
刘奇

セッションを使用して 2 つの値を記録します。1 つは送信数 $count で、もう 1 つは送信時間 $time です。 ++$count==5 [条件 1] が送信されるたびに検出される場合、time()-$time>=60 秒 [条件 2] の場合、頻繁な操作が要求されます。条件が満たされた場合のみ 1 then $count=0;$time=time();

いいねを押す +0
世界只因有你

Redisキャッシュ操作の使用を推奨します

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート