在Asp.Net中使用cookieless表单身份验证票证的可能缺点

时间:2012-04-11 11:30:19

标签: asp.net forms-authentication cookieless

如果我使用

<authentication mode="Forms">

  <forms

  cookieless="UseUri"

  slidingExpiration="true"

  timeout="60"

  />

</authentication>

完成此更改后。以匿名用户身份访问时,网址将与之前完全相同。例如,访问Default.aspx页面时,我的浏览器地址栏显示以下URL:

http://localhost:2448/default.aspx

但是,登录后,表单身份验证票证将嵌入到URL中。例如,在访问登录页面并以Sam身份登录后,我返回到Default.aspx页面,但这次的URL是:

http://localhost:2448/(F(jaIOIDTJxIr12xYS-VVgkqKCVAuIoW30Bu0diWi6flQC-FyMaLXJfow_Vd9GZkB2Cv-rfezq0gKadKX0YPZCkA2))/default.aspx

注意:无Cookie认证票证更容易发生重播攻击,因为身份验证票证直接嵌入到URL中。想象一下,用户访问网站,登录,然后将URL粘贴到同事的电子邮件中。如果同事在到期时点击该链接,他们将以发送电子邮件的用户身份登录!

如果我使用无cookie身份验证,这是一个可能的缺点,我有兴趣知道这种方法的其他可能的缺点。

由于

1 个答案:

答案 0 :(得分:4)

缺点:

  1. 可以存储在URL中的有限数量的数据(特别是在移动和Windows 2003平台中)
  2. Cookie重播攻击(您已经提到过) - 使用ssl可以避免,并且使用超时限制。
  3. 您的网址看起来很长,而不是“整洁”。