通过在 L5 中点击浏览器上的后退按钮来防止注销后再次登录?
Posted
技术标签:
【中文标题】通过在 L5 中点击浏览器上的后退按钮来防止注销后再次登录?【英文标题】:Prevent Back Login After Logout by hitting the Back button on Browser in L5? 【发布时间】:2015-06-26 17:35:32 【问题描述】:我的问题是当我已经注销时我想做,如果我点击浏览器上的返回按钮它永远不会返回管理主页。
现在,当我单击返回按钮时,它会显示管理员机密页面,但是当我刷新页面时,它会返回登录页面。
我解决了它在 Laravel 4.2 上的 filter.php 中编写代码
App::after(function($request, $response)
$response->headers->set('Cache-Control','nocache, no-store, max-age=0, must-revalidate');
$response->headers->set('Pragma','no-cache');
$response->headers->set('Expires','Fri, 01 Jan 1990 00:00:00 GMT');
);
但是现在如何
【问题讨论】:
【参考方案1】:将此行保留在登录页面的顶部。这将清除缓存并防止返回页面(pabel)
<?php echo
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header('Content-Type: text/html');?>
【讨论】:
效果很好。谢谢【参考方案2】:这对我有用:
将此javascript代码放在登录页面的末尾,这样您就无法返回,然后一旦系统外部无法访问之前的页面
<script>
window.onload = function ()
if (typeof history.pushState === "function")
history.pushState("jibberish", null, null);
window.onpopstate = function ()
history.pushState('newjibberish', null, null);
;
else
var ignoreHashChange = true;
window.onhashchange = function ()
if (!ignoreHashChange)
ignoreHashChange = true;
window.location.hash = Math.random();
else
ignoreHashChange = false;
;
</script>
【讨论】:
您能解释一下您的答案如何解决问题中的问题吗?仅代码的答案不是很有用,尤其是对于偶然发现这篇文章的更多读者。 您必须在上下文中才能理解该地方对我有用的代码,并输入我的源代码,所以不明白问题是什么......它只是复制并粘贴代码...... *** 不仅仅是复制+粘贴人们在回答问题时提供给您的代码,它还(而且主要是)学习如何做您以前不知道的事情。这就是让我们变得更好的原因,了解问题是什么以及给定的答案如何解决它。无论如何,我看到你添加了一些细节,这是向前迈出的一步。 我只是想帮助老兄,让人们来决定是不是错 :-) Cristik 有美好的一天! 我还尝试帮助您改进您的答案,详细的答案可能会比仅代码的答案获得更多的选票。你也有美好的一天。【参考方案3】:<script>
window.onload = function ()
if (typeof history.pushState === "function")
history.pushState("jibberish", null, null);
window.onpopstate = function ()
history.pushState('newjibberish', null, null);
;
else
var ignoreHashChange = true;
window.onhashchange = function ()
if (!ignoreHashChange)
ignoreHashChange = true;
window.location.hash = Math.random();
else
ignoreHashChange = false;
;
</script>
【讨论】:
正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。以上是关于通过在 L5 中点击浏览器上的后退按钮来防止注销后再次登录?的主要内容,如果未能解决你的问题,请参考以下文章
servlet会话,注销后,按下浏览器的后退按钮时,再次显示安全页面[重复]
当用户在 JSF 中注销后单击后退按钮时重定向到登录页面 [重复]