[英]How to prevent browser back button in laravel 5.2
我正在laravel 5.2中开发一个crm应用程序,但我遇到了一个问题。 尽管我已经在Laravel 5.2中正确注销,但是我仍然可以访问上一页。 在Laravel 5.2中注销后,如何防止浏览器的后退按钮登录?
我知道这不是安全问题,但是我仍然想阻止用户使用浏览器的后退按钮访问上一页。 我使用了以下网址中提到的以下解决方案,但它仍然对我不起作用。 https://arjunphp.com/laravel-5-logout-and-prevent-back-button/
到目前为止,我正在从头开始开发我的应用程序。 我只是使用了Laravel auth即(php artisan make:auth),发现了这个问题并被卡住了。
这不是问题。 当用户单击“后退”时,浏览器将上一页呈现为缓存的版本。
这是您的3种选择:
不用担心 如果他们已经登录并且以前看过它,那么如果返回,他们会期望同样的结果。 但是,如果他们尝试导航到具有auth middleware
其他任何地方,则无论如何它们将被重定向到登录页面。
当他们注销时,将他们重定向到登录页面。
将它们重定向回先前的URL,这将再次触发auth middleware
。
众所周知,这不是问题。 但是,即使您想阻止它,也可以执行以下操作。 在您的登出功能中,调用登出方法后,请使用类似以下内容的代码,
return redirect(\URL::previous());
我已经做到了,它解决了这个问题。 请尝试这个。 希望这可以帮助!
解。 创建中间件。
它应该看起来像这样。
<?php
namespace App\Http\Middleware;
use Closure;
class HistoryBack
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
return $response->header('Cache-Control','nocache, no-store, max-age=0, must-revalidate')
->header('Pragma','no-cache') //HTTP 1.0
->header('Expires','Sat, 01 Jan 1990 00:00:00 GMT'); // // Date in the past
}
}
以下是在内核中注册中间件并在路由方面使用它们
请原谅我的英语。 我正在使用翻译器来理解。 我只会说和听懂西班牙语和一点英语
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.