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方法。



时间: 2024-10-20 14:37:21

asp.net 无cookie会话带来的问题的相关文章

Asp.net操作cookie大全

实例代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 下面是写cookie  HttpCookie cookie = new HttpCookie("Info");//定义cookie对象以及名为Info的项  DateTime dt = DateTime.Now;//定义时间对象  TimeSpan ts=

Asp.net Core 2.0 实现Cookie会话

与1.0版本相比微软做了一些调整.详细请参考官方文档,我这里就讲2.0的吧 1.首先要在 根目录下 Startup.cs 类中启用 cookie会话,有两处要配置 第一处在  public void Configure(IApplicationBuilder app, IHostingEnvironment env) 方法里 设置  app.UseAuthentication(); public void Configure(IApplicationBuilder app, IHostingEn

asp.net中Cookie的用法【转】

比如建立一个名为aspcn,值为灌水小鱼的cookieHttpCookie cookie = new HttpCookie["aspcn"];cookie.Value = "灌水小鱼";Response.AppendCookie(cookie);取出Cookie值也很简单HttpCookie cookie = Request.Cookies["aspcn"];cookieValue = cookie.Value;在一个Cookie中储存多个信息,

ASP.NET 操作Cookie详解 增加,修改,删除

Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109.它是网景公司的前雇员Lou Montulli在1993年3月的发明. 服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态.Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用.另一个重要应用场合是“购

ASP.NET,Cookie,写Cookie,取Cookie

Cookie是一段文本信息,在客户端存储 Cookie 是 ASP.NET 的会话状态将请求与会话关联的方法之一.Cookie 也可以直接用于在请求之间保持数据,但数据随后将存储在客户端并随每个请求一起发送到服务器.浏览器对 Cookie 的大小有限制,因此,只有不超过 4096 字节才能保证被接受. 编写Cookie //方式1:Response.Cookies["username"].value="mike";Response.Cookies["use

HTML5入门教程 :Cookie会话跟踪技术~

1. Cookie会话跟踪技术介绍 会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,可以在客户端保存临时数据. Cookie 技术诞生以来,它就成了广大网络用户和 Web 开发人员争论的一个焦点.有一些网络用户,甚至包括一些资深的 Web 专家也对它的产生和推广感到不满,这并不是因为 Cookie 技术的功能太弱或其他技术性能上的原因,而是因为 Cookie 的使用对网络用户的隐私构成了危害

无状态会话bean(1)---定义

无状态会话bean用于完毕在单个方法的生命周期内的操作.无状态bean能够实现很多业务操作,可是每一个方法都不能假定不论什么其它的方法会在它之前调用.后半句的意思是如今的你可能不是刚才的你.明天的你可也能不是今天的你,这个时候你就叫做"无状态你". 上面的阐述听起来像是无状态的bean的一个局限,好像每次再见就像永别似的. 可是这是迄今为止业务服务最常见的形式,就像去饭店吃饭,点菜的服务员与给你上菜的服务员是不是同一个这不是我们所关心的. 无状态回话bean不同于适合在对话中积累状态(

ASP.NET中Cookie跨域的问题及解决代码

ASP.NET中Cookie跨域的问题及解决代码 http://www.liyumei.net.cn/post/share18.html Cookies揭秘  http://www.cnblogs.com/zhangziqiu/archive/2009/08/06/cookies-javascript-aspnet.html 最近在项目开发中遇到一个很棘手的问题,一个用户在顶级域名登录后,跳转到自己所拥有的二级域名下管理二级网站时,cookie丢失了,一直找解决办法找了整整两天,百度谷歌一大堆,

无状态会话bean(1)---定义(未排版)

无状态会话bean用于完成在单个方法的生命周期内的操作.无状态bean可以实现许多业务操作,但是每个方法都不能假定任何其他的方法会在它之前调用. 这听起来像是无状态的bean的一个局限.但是这是迄今为止业务服务最常见的形式.不同于适合在对话中积累状态(如零售应用程序的购物车)的有状态会话bean,无状态回话bean旨在非常有效的执行独立操作.无状态会话bean可以在最小化对整体服务器资源影响的同时,扩展到大量的客户端. 会话bean定义分为如下两个部分: 零个或多个业务接口,定义了一个客户端在b