如何防止laravel 5.2中的浏览器后退按钮

时间:2016-12-08 06:33:23

标签: php laravel

我正在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)并发现了这个问题并且卡住了。

3 个答案:

答案 0 :(得分:1)

这不是问题。当用户点击“返回”时,浏览器会将上一页呈现为缓存版本。

以下是您的3个选项:

  1. 不要担心。如果他们已经登录并且他们之前已经看过,如果他们回去,他们会期望相同的。但是,如果他们尝试导航到具有auth middleware的任何其他位置,则无论如何都会将其重定向到登录页面。

  2. 当他们退出时,将其重定向到登录页面。

  3. 将它们重定向回上一个网址,这将再次触发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


     }
    }

以下是在内核中注册中间件并在路由中使用它们 问候

原谅我的英语。我使用翻译来理解。我只说和理解西班牙语和一点英语

相关问题