我正在laravel 5.2中开发一个crm应用程序,但我遇到了一个问题。虽然我已经在Laravel 5.2中正确注销,但我可以访问上一页。我在Laravel 5.2中注销后如何防止浏览器的后退按钮登录?
我知道这不是安全问题,但我仍然希望阻止用户使用浏览器的后退按钮访问上一页。我使用了以下URL中提到的以下解决方案,但它仍然不适用于我。 https://arjunphp.com/laravel-5-logout-and-prevent-back-button/
我正在从头开始开发我的应用程序。我刚刚使用了Laravel auth ie(php artisan make:auth)并发现了这个问题并且卡住了。
答案 0 :(得分:1)
这不是问题。当用户点击“返回”时,浏览器会将上一页呈现为缓存版本。
以下是您的3个选项:
不要担心。如果他们已经登录并且他们之前已经看过,如果他们回去,他们会期望相同的。但是,如果他们尝试导航到具有auth middleware
的任何其他位置,则无论如何都会将其重定向到登录页面。
当他们退出时,将其重定向到登录页面。
将它们重定向回上一个网址,这将再次触发auth middleware
。
答案 1 :(得分:1)
正如大家所说,这不是问题。但即使你想要阻止它,那么你可以做到这一点。在您的注销功能中,您在调用注销方法后使用此类内容
return redirect(\URL::previous());
我做到了,它解决了这个问题。请试试这个。 希望这有帮助!
答案 2 :(得分:0)
溶液。创建中间件。
应该是这样的。
<?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
}
}
以下是在内核中注册中间件并在路由中使用它们 问候
原谅我的英语。我使用翻译来理解。我只说和理解西班牙语和一点英语