たとえば、1 分以内に 5 つのラベルが生成されると、「頻繁に操作するため、確認コードを入力してください」というメッセージが表示されます。
どう対処すればいいでしょうか?
これは、キーが count の場合、redis を使用して実装するのに非常に便利です。 送信するたびに Redis からカウントを取得します
カウントが空の場合は、カウント値を 1 に設定し、タイムアウトを 1 分に設定して、通常どおり送信します
カウント値が空ではなく、5 以上の場合、「操作が頻繁に発生します。確認コードを入力してください」というエラー メッセージが報告されます。
各タグの生成時間を記録します 1分間に4つのタグしか生成できないというルールの場合、5番目のタグについてエラーが報告されます 5番目のタグを追加する前に、最新の4つのタグのうちの1つ目を比較するだけです現在の時刻と比較した各時刻の生成時刻が 60 秒を超えているか? そうでない場合は、エラーが報告されます。
セッションを使用して 2 つの値を記録します。1 つは送信数 $count で、もう 1 つは送信時間 $time です。 ++$count==5 [条件 1] が送信されるたびに検出される場合、time()-$time>=60 秒 [条件 2] の場合、頻繁な操作が要求されます。条件が満たされた場合のみ 1 then $count=0;$time=time();
Redisキャッシュ操作の使用を推奨します
これは、キーが count の場合、redis を使用して実装するのに非常に便利です。
送信するたびに Redis からカウントを取得します
カウントが空の場合は、カウント値を 1 に設定し、タイムアウトを 1 分に設定して、通常どおり送信します
カウント値が空ではなく、5 以上の場合、「操作が頻繁に発生します。確認コードを入力してください」というエラー メッセージが報告されます。
各タグの生成時間を記録します
1分間に4つのタグしか生成できないというルールの場合、5番目のタグについてエラーが報告されます
5番目のタグを追加する前に、最新の4つのタグのうちの1つ目を比較するだけです現在の時刻と比較した各時刻の生成時刻が 60 秒を超えているか? そうでない場合は、エラーが報告されます。
セッションを使用して 2 つの値を記録します。1 つは送信数 $count で、もう 1 つは送信時間 $time です。 ++$count==5 [条件 1] が送信されるたびに検出される場合、time()-$time>=60 秒 [条件 2] の場合、頻繁な操作が要求されます。条件が満たされた場合のみ 1 then $count=0;$time=time();
Redisキャッシュ操作の使用を推奨します
リーリー