如何添加验证以便用户无法返回到laravel上的上一页?

时间:2017-08-07 09:36:31

标签: php laravel validation laravel-5.3 back

我的功能如下:

public function index()
{
    $stores = $this->store_service->getListStore();
    return view('store.index', compact('stores '));
}

如果调用该方法,则会调用商店页面

我想添加验证服务器端。因此,如果用户打开商店页面,则用户无法返回上一页

我该怎么做?

2 个答案:

答案 0 :(得分:1)

在路由中包含中间件并检查中间件中的请求。如果请求来自商店(或您希望阻止用户访问的任何页面),请将用户重定向到上一页。这样,即使用户单击后退按钮,用户也将被显示在同一页面上。

您可以检查以下路径:$request->path()如果路径不是您希望用户访问的路径,则重定向到上一页

答案 1 :(得分:0)

您无法使用服务器端代码处理浏览器事件。根据我的说法,你必须在推送状态下推送你的URL并清理浏览器历史记录。您可以使用以下代码。

$(document).ready(function(){ 
    window.history.pushState(null, "", window.location.href);
     window.onpopstate = function() { 
           window.history.pushState(null, "", window.location.href);
     }; 
});