今天开始优化系统,之前是登出系统以后点击浏览器返回按钮,就会退回到系统页面,这是不
符合安全性的。所以我们要求他点击浏览器返回按钮,立刻跳转到登陆页面。之前做过两个调
查,发现新浪微博web端是实现了这个功能的,而qq zone则不行。
我们用的是Spring+SpringMVC+JS。
我一开始想的是从缓存入手,但是每个页面都不要缓存,即禁止缓存,性能就立刻降了等级,
这是得不偿失的。然后一次性清除所有缓存,没找到合适的方法。
后来网上有禁止浏览器后退的方法。但是用上去,却没效果。
。。。
最后还是回归,将用户登录信息在登录的时候从后台设到Cookie中,然后在公共导航页进行
判断,登出的时候,在后台删除Cookie。
具体代码:
登录时(java):
Cookie admincookie = new Cookie("backAdmin",name);
admincookie.setMaxAge(-1);
admincookie.setPath("/");
response.addCookie(admincookie);
页面判断(js):
window.onload = function(){
if(document.cookie.indexOf("backAdmin") < 0){
window.location.href="/back/login.jsp";
}};
登出时(Java):
Cookie [] cookies=request.getCookies();
for(Cookie cookie:cookies){
cookie.setPath("/");
cookie.setMaxAge(0);
response.addCookie(cookie);
}
分享到:
相关推荐
5. **登出功能**:用户主动点击登出按钮时,前端向服务器发送登出请求,服务器接收到请求后清除与该session关联的所有用户信息,同时清除客户端的session ID(即删除cookie)。 6. **安全考虑**:为了防止恶意用户...
总的来说,通过利用JavaScript的`popstate`事件和`history.pushState`方法,我们可以实现对微信浏览器返回按钮的监控,从而实现自定义的导航逻辑。但在实际应用中,还需要考虑微信浏览器的特性和限制,以及用户体验...
本文将深入探讨如何使用自定义按钮来实现Facebook授权登录和登出功能。 首先,我们要了解Facebook的OAuth 2.0授权流程,这是Facebook提供给开发者进行身份验证的基础。用户点击自定义按钮后,应用会通过Facebook ...
1. 用户在任一应用系统B上点击登出按钮。 2. 应用系统B向CAS服务器发送登出请求,包含用户的标识(如Ticket Granting Ticket,TGT)。 3. CAS服务器收到请求后,会销毁与该用户相关的TGT。TGT是在用户首次登录时创建...
然而,这种方法并不能完全阻止用户通过后退按钮重新登录,因为浏览器可能仍然保留了之前的页面状态。 #### 解决方案 为了防止用户在登出后通过后退按钮重新登录,可以采用以下几种策略之一或者组合使用: 1. **...
[Fix]直接点击非当前浏览标签的关闭按钮不能关闭标签。 [Fix]访问基本验证和windows集成验证的网站自动登出。 [Fix]使用代理浏览器网页,浏览器重启后总是提示重新输入帐号和密码。 [Fix]导入Firefox书签失败。 [Fix...
[Fix]直接点击非当前浏览标签的关闭按钮不能关闭标签。 [Fix]访问基本验证和windows集成验证的网站自动登出。 [Fix]使用代理浏览器网页,浏览器重启后总是提示重新输入帐号和密码。 [Fix]导入Firefox书签失败。 [Fix...
用户点击退出按钮,JavaScript(可能在logout_ajax.js中)会发起一个Ajax GET请求到`http://www.rcmusicl.com/user/logout`,清除浏览器中的EM_TICKET cookie,从而实现登出操作。后台返回的SysResult对象同样包含...
AMPPS / other)文件夹中,然后使用网络浏览器打开它(例如 ) 默认用户名:用户名和密码:1234 :file_folder: 特征能够: 登录/登出使用“返回”按钮返回查看目录内容建立新目录删除,上传和下载文件作者
2. **CSS样式**:为浮动条设置合适的CSS样式,使其始终位于屏幕底部并固定位置。 ```css #floatingBar { position: fixed; bottom: 0; width: 100%; background-color: #f1f1f1; padding: 10px; } ``` 3. **...
3. 提交按钮(`<input type="submit">`):用户点击后,表单数据会被发送到指定的服务器端处理脚本。 4. 隐藏字段(`<input type="hidden">`):可能用来存储会话ID或其他非用户可见的信息。 5. 路由和重定向:...
1. 用户点击注销按钮,发送注销请求到服务器。 2. `Servlet`接收到注销请求,根据`sessionId`找到相应的`session`。 3. 清除`session`中的所有用户信息,或者直接销毁该`session`。 4. 更新响应头,设置过期的`Set-...
最后,**登出流程**:当检测到用户会话超时或用户主动点击登出按钮时,需要清理服务器上的session数据,并清空客户端的session ID,通常通过`session_unset()`和`session_destroy()`在PHP中完成,同时删除浏览器中的...
4. 重定向用户到一个登出成功页面,或者返回主页,以确保他们不能通过浏览器的后退按钮重新访问之前的受保护页面。 在部署Struts-login的Web项目时,需要考虑以下环节: - **环境准备**:首先,确保安装了Java ...
直接关闭浏览器窗口而不使用“退出”可能会影响服务器资源,造成浪费。 面向网点的部分包括: 2.1 主窗口:登录成功后,用户会看到包含“网点”、“信息”、“查询”、“帮助”等主菜单的主界面。其中,“网点”...
例如,你可以创建一个提交表单的按钮,当用户点击后,服务器将处理表单数据并返回结果。 除了这些基础概念,学习ASP还需要了解以下关键点: - **VBScript和JScript**:ASP主要使用的两种脚本语言,VBScript是...
在这个"SessionDemo"项目中,可能还包含了如何在多个JSP页面之间传递Session信息,以及如何在特定条件下(比如用户点击登出按钮)清除Session内容的示例。通过实际操作,初学者能够更直观地理解Session的工作原理...
5. 登出功能:用户点击登出按钮时,清除对应的session,结束用户的登录状态。 6. 安全措施:除了基本的身份验证,还可以实现其他安全策略,如CSRF(跨站请求伪造)防护,输入参数校验,防止SQL注入等。 通过这个...
2. **事件监听**:在 JavaScript 中,我们为登录按钮添加点击事件监听器,捕获点击事件,防止表单提交导致页面刷新。 ```javascript document.getElementById('loginBtn').addEventListener('click', function(e) {...