任何人都可以劫持(通过js)asp.net表单cookie并更改过期日期吗?

6 asp.net forms-authentication

任何人都可以劫持(通过js)asp.net表单cookie并更改过期日期吗?

什么能阻止他们抓住它并改变过期日期?即有效地让用户保持登录状态?

更新

.net框架是否构成身份验证.cookie是否依赖于cookie的到期日期还是它已经过时了?

Mat*_*man 5

您可以采取一些措施来改善这种情况.

在web.config中,为cookie设置protection ="All":http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx.这将加密和验证,使得更难以破解客户端.

此外,cookie可以将httpOnly设置为true.这告诉浏览器无法在javascript中操作cookie.

web.config中的<forms>元素也有一个超时设置(参见上面的链接).微软的实施可能足够聪明,不仅仅依赖于cookie,但我不知道.

其他评论是正确的,客户端永远不应该被信任.因此,为了保持密闭性,您需要跟踪服务器上的"上次登录"并在一段时间后强制重新登录.


Sea*_*ock 0

不太确定 javascript,但你可以使用 Fire Fox 的 Cookie 编辑器插件来完成

加密它

在 cookie 中设置额外的日期标志