【发布时间】:2020-09-05 13:56:18
【问题描述】:
我想限制登录用户多次刷新某个页面(例如重复按 F5 键)。除了这样计算刷新次数并保存在数据库中,还有其他更简单的方法吗?
public function myPage()
{
// Page is a table storing refresh count of pages
$page = Page::where('user_id', Auth::user()->id)->get();
$refresh_count = $page->refresh_count;
if($refresh_count > 10){
// logout user
}else{
$refresh_count = $page->refresh_count + 1;
$page->update(['refresh_count' => $refresh_count]);
}
return view('mypage');
}
【问题讨论】:
-
使用节流中间件
-
正如@alzafan 所说,节流是要走的路。如果您想了解节流阀的工作原理:stackoverflow.com/questions/63637524/…
-
我试过了,效果很好!他们的页面在超出限制后会引发错误。我怎样才能再次访问该页面?文档中没有说明
-
会被限制1分钟;在我分享的 SO 链接中提到了 :)
标签: laravel