asp.net 无cookie会话带来的问题

无cookie会话的目的是使不支持或者未启用cookie的浏览器能够使用有状态的应用程序,但是无cookie并不是没有问题。首先,当会话开始时,不论用户发出的是否为应用程序页面的绝对url,无cookie都会引发重定向。

若使用无cookie,且在地址栏输入另一个应用程序的地址,那么在返回之前的页面时,获取的是相对的会话值。如果禁用cookie,会话数据则会丢失。由于回发会自动通过相对URL来实现,因而禁用cookie不会对此有影响,但如果使用绝对URL的连接,则会造成严重的问题,在这种情况下,总会创建新的会话。例如下面的代码就会中止当前会话:

<a runat="server" href="/test/session.aspx">click</a>

有什么办法能自动修正链接和超链接中的绝对url,使其融入会话信息?为此,我们可以使用HttpResponse类的ApplyAppPathModifier方法

<a href='<% = Response.ApplyAppPathModifier("test/page.aspx")%>'>click</a>

使用无cookie会话还会带来安全问题,对于无cookie会话,会话ID会暴露在地址栏中,对外界可见。因此如果要将私人或敏感信息存储在会话中,那么使用安全套接层(SSL)或者安全传输层(TLS)对浏览器和服务器间包含会话ID的通信进行加密。

此外,还可以给用户提供注销功能,并调用Abandon方法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值