Http状态的传递和保存 之 自己实现“服务器端Cookie”

Cookie不能存储机密数据。如果想存储数据,可以保存一个Guid到Cookie中,
然后在服务器中建立一个以Guid为Key,复杂数据为Value的静态Dictionary。

Guid就相当于用户的一个“令牌”。


SessionMgr.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace SessionMgr
{
    /// <summary>
    /// 模拟服务器端的Cookie。
    /// Cookie不能存储机密数据。如果想存储数据,可以保存一个Guid到Cookie中,
    /// 然后在服务器中建立一个以Guid为Key,复杂数据为Value的静态Dictionary。
    /// Guid就相当于用户的一个“令牌”。
    /// </summary>
    public class SessionMgr
    {
        /// <summary>
        /// static作用于应用程序整个运行周期,
        /// 只要服务器端的应用程序不重启,static的值一直存在内存。
        /// </summary>
        private static Dictionary<Guid, object> dictSession = new Dictionary<Guid, object>();

    
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
localstorage和cookie都是用来在浏览器端保存数据的技术。但是它们在保存密码方面有一些区别。 首先是localstorage,它是HTML5新增的Web Storage API之一。可以将数据以键值对的形式存储在浏览器中,并且该数据不会随着网页的关闭而消失。因此,localstorage可以用来保存长期登录的密码,以便下次用户打开网页时可以自动填充密码。然而,localstorage存储的数据是明文形式,只要有人能够访问到用户的设备,就可以轻松获取到存储在localstorage中的密码信息。 而cookie是浏览器常用的一种技术,用于在浏览器和服务器之间传递数据。在保存密码方面,cookie可以设置一个标记来表示用户的登录状态,使得用户可以在一段时间内免登录。然而,cookie也存在一些安全问题。首先,cookie中的数据是明文存储的,可以被他人窃取,因此不能将密码明文存储在cookie中,而是应该将密码进行哈希散列等操作后再存储。其次,cookie有过期时间,如果不合理设置,可能会导致用户的登录状态过长,增加了安全风险。 综上所述,无论是使用localstorage还是cookie保存密码,都存在一定的安全风险。为了提升密码的安全性,应该对密码进行哈希散列等操作后再进行存储,并定期更新密码或设置密码的有效期限,以保护用户的账户安全。此外,还应该使用其他更安全的身份验证方式,如双因素认证等,来加强用户账户的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值