2016-08-16 32 views
0

例: ユーザが「プロフィール」(ルート/プロファイルにリダイレクト)ボタンをクリックするので、基本的にウェブ(ID = 1プロファイルから選択*」)を次のように照会する場合。 私の上司が懸念している限り、彼はクエリ要求でデータベースをあふれさせたくありません。彼は20秒の時間制限を望んでいるので、ユーザーがプロフィールを再びクリック(またはリフレッシュ)して20秒未満になると、「あなたはデータベースをオーバーロードしています。してください。 30秒後に戻ってください。Laravel:ユーザーがルート/ページにアクセスする時間を制限するにはどうすればよいですか?

彼は、この目的は複数のクエリ要求からデータベースを保護することであると述べました。

プロファイルは単なる例に過ぎません。

答えて

0

シンプルなソリューションはコントローラの__contructの方法でスロットルミドルウェア
を使用しています。これらのコードを追加してください。

// This mean: 3 hits per 1 minute 
$this->middleware('throttle:3,1'); 
+0

ありがとうございました。どのように応答を変更/編集するかについての考え方 "多すぎる試行"、javacriptで警告(「試行が多すぎる、1分後に再試行する」)にしたい。 –

+0

Illuminate \ Routing \ Middleware \ ThrottleRequestsアイデア。その後、独自のミドルウェアをカスタムメッセージで記述することができます。 – KmasterYC

関連する問題