none
【ASP.NET】请问如何加密保存Cookie RRS feed

  • 问题

  • 两个问题:
    一、如何加密保存Cookie文件?

    二、如何从保存的Cookie文件中知道该Cookie保存多长时间(保存期限)?

    请高手赐教,小弟表示不胜感激!

    • 已移动 肖小勇Moderator 2010年1月8日 7:07 asp.net 相关问题 (发件人:.NET Framework 一般性问题讨论区)
    2010年1月8日 6:30

答案

  • 你好!

    1 采用如 des 这样可逆的加密方式,将你要保存到 cookie 的值加密后再添加到 cookie 中,取出使用时再解密。
    2 不能获取 cookie 的有效期,只有有或无的区分。不过你可以采用变通的方式,在添加 cookie 的同时添加一个项,这个项为你添加 cookie 时的有效期。

    知识改变命运,奋斗成就人生!
    • 已标记为答案 jinwb1982 2010年1月8日 14:07
    2010年1月8日 7:07
    版主

全部回复

  • 你好!

    1 采用如 des 这样可逆的加密方式,将你要保存到 cookie 的值加密后再添加到 cookie 中,取出使用时再解密。
    2 不能获取 cookie 的有效期,只有有或无的区分。不过你可以采用变通的方式,在添加 cookie 的同时添加一个项,这个项为你添加 cookie 时的有效期。

    知识改变命运,奋斗成就人生!
    • 已标记为答案 jinwb1982 2010年1月8日 14:07
    2010年1月8日 7:07
    版主
  • 你可以设置HttpOnly属性为true,这样设置后的HttpCookie只能在服务器端读取,无需担心客户端JavaScript篡改的可能性。
    Microsoft ASP.NET MVP
    2010年1月8日 7:21
    版主
  • 你可以设置HttpOnly属性为true,这样设置后的HttpCookie只能在服务器端读取,无需担心客户端JavaScript篡改的可能性。
    Microsoft ASP.NET MVP

    你好版主,针对你的回答,小弟不禁要问设置HttpOnly属性为true,仅能防止JS篡改么,如果我手动在Cookie文件夹里寻找保存的文件,是否也能找到其中的信息呢?如果能找到并能打开,那么我想这个属性也没什么用处啊。

    第二个问题,我想弄明白,比如说一个网站保存Cookie(并非我自己的网站),在Cookie文件夹里找到了文件,怎样能查看这个Cookie保存期限是多长时间呢?期待你的回复,谢谢!
    2010年1月8日 9:23