0

我通过HttpWebRequest()HttpWebResponse()方法传递了一个链接,我得到了最终的响应 url,其中包含一些 cookie(会话 id)。

例如,对于这个链接http://www.1and1.com/

我收到以下响应网址: http ://www.1and1.com/;jsessionid=D94CEA91011FDF30CCA8A8EAC8CE4971.TCpfix243a

当我在浏览器中打开http://www.1and1.com/时,浏览器地址栏中的链接不包含此会话 id 值。

如何从上述响应 url 中删除会话 id 和 cookie 值?

请帮我搞定这个,谢谢。

4

1 回答 1

0

您需要在 web.config 中适当地配置 section的cookieless属性。sesseionState根据MSDN

对于允许不支持 cookie 的客户端的应用程序,例如各种移动设备,会话 ID 可能存储在 URL 中。URL 选项有几个缺点。它要求站点上的链接是相对的,并且在会话开始时使用新的查询字符串值重定向页面,并且它在查询字符串中公开会话 ID,可以在其中提取它以用于安全攻击。

仅当您需要支持缺少 cookie 支持的客户端时,我们才鼓励您使用 cookieless 模式。

会话状态还支持两个附加选项:UseDeviceProfile 和 AutoDetect。前者使会话状态模块能够根据浏览器功能确定每个客户端使用哪种模式(cookie 或无cookie)。AutoDetect 选项与浏览器进行握手以验证是否可以存储 cookie,因此需要额外的请求来做出确定。如果您需要支持无 cookie 客户端,强烈考虑使用 UseDeviceProfile 仅为需要它们的客户端生成无 cookie URL。

于 2012-08-20T10:42:47.143 回答