繁体   English   中英

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

[英]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种选择:

  1. 不用担心 如果他们已经登录并且以前看过它,那么如果返回,他们会期望同样的结果。 但是,如果他们尝试导航到具有auth middleware其他任何地方,则无论如何它们将被重定向到登录页面。

  2. 当他们注销时,将他们重定向到登录页面。

  3. 将它们重定向回先前的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM