[ASP.net]用户窗口关闭后Session立即过期

本文介绍了一种方法,使得用户在关闭浏览器后能够立即使WEB服务器上的Session失效,以提高安全性。通常情况下,IIS默认设置下Session不会立即失效,而是在一段时间后才过期。文中提供了一个简单的解决方案并通过IE浏览器进行了验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们知道WEB服务器的Session是与客户端浏览器线程关联的,如果用户关闭了浏览器,服务端创建的Session对象也将会失效,但是,IIS在处理Session时,默认配置下,并不回立即将用户Session失效,通常需要等待1分钟左右时间,在这1分钟期间,用户的Session信息依然存储在服务端内存,如果被非法劫持利用的话很容易造成安全问题,所以在某些特定的场合,需要用户在页面窗口/标签关闭后,立即废止Session。



以下是一种简单的方法

1.窗口关闭后立即弹出一个新页面

2.新页面中将Session内容废止



存在的问题:

1.弹出新窗口的代码可能会被浏览器禁止,如果不需要弹出新窗口,可以使用Ajax向服务器发送一个请求即可。

2.如果存在服务端窗口关闭事件,这部分服务端代码可能不会被执行。





参考代码,IE下测试有效。

前台







testtesttest







后台ASPX页面



< Page Language="C#" AutoEventWireup="true" CodeFile="WindowClose.aspx.cs" Inherits="WindowClose" >

< SessionAbandon>//调用Session失效方法




--------------------------------------------------------------------------------------
- 版权声明:
- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。
- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。
- 文章标题: [ASP.net]用户窗口关闭后Session立即过期
- 独立博客: 李大仁博客
- 永久链接:http://www.lidaren.com/archives/873
--------------------------------------------------------------------------------------
以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值