日期:2014-05-18  浏览次数:20796 次

使用加密cookie代替session验证用户登录状态 源码分享 欢迎拍砖
小论坛地址:http://rayyu.5d6d.com/thread-9444-1-1.html

正文:
首先 session 和 cache 拥有各自的优势而存在. 他们的优劣就不在这里讨论了.

以下类实现了 使用加密cookie代替session验证用户登录状态 支持 1小时/1周 有效期2种模式 (期间有新的请求则更新失效时间)

源码下载地址 http://www.370b.com/bbsx/cookie-login/cookie.rar

在自定义字符 CustomCode 不被知道的情况下 该加密过程是相对安全的.
你还可以更改其中 的 2处MD5哈希值 生成的方式、DEChar(ENChar)混淆字符 让代码更与众不同

欢迎大家拍砖
VB.NET调用方式:
VB.NET code

Dim user As New Rayyu.User() '初始化用户信息(检测当前请求用户是否登录)
If user.Online Then
Console.Write("<br />name:" & user.Name & ",online:" & user.Online & ",id:" & user.ID)
End If


Dim user2 As New Rayyu.User(1, "用户名", False) '初始化(写入新用户)


C#调用代码
C# code

Rayyu.User user = new Rayyu.User();// 初始化用户信息(检测当前请求用户是否登录)
            Rayyu.User user2 = new Rayyu.User(1, "用户名", false);// 初始化(写入新用户) false 表示1小时  true表示1周


            if (user.Online)
            {
                Console.Write("<br />name:" + user.Name + ",online:" + user.Online + ",id:" + user.Id);
            }



具体代码实在太长了 帖子不够 请移步blog:http://blog.csdn.net/rayyu1989/article/details/7522332

------解决方案--------------------
cookie空间是非常有限的。

实际上保存一个后台数据库的id编号就行了,用不着在cookie中保存内容。例如购物车,你保存购物车编号就行了,而购物车内容是在数据库中持久化、在数据缓存系统中加速,根本用不着在客户端浏览器跟服务器之间来来回回地传送!
------解决方案--------------------
谢谢分享

五一快乐!
------解决方案--------------------
登录系统也是这样。登录时,你应该给用户发一张“通行证”,这张通行证指明了用户名,通行证有效期,用户所使用的应用系统(因为同一个用户可能用桌面与手机同时访问),最后一次刷新访问的时间、以及用户的权限(以便减少查找次数)等信息。

cookie中只需要同行者编号,明文就好了,用不着加密。
------解决方案--------------------
支持!
------解决方案--------------------
谢谢分享
------解决方案--------------------
感謝分享。
------解决方案--------------------
有兴趣
------解决方案--------------------
大家享 才是真的享
------解决方案--------------------
怎么没javad的调用方式?
------解决方案--------------------
客户端禁用cookie了这种方式就毁了喔.! 呵呵
------解决方案--------------------
学习下!
------解决方案--------------------
客户端禁用cookie了这种方式就毁了喔.! 呵呵
------解决方案--------------------
嗯哈嗯哈
------解决方案--------------------
探讨

客户端禁用cookie了这种方式就毁了喔.! 呵呵


------解决方案--------------------
谢谢! 学到了
------解决方案--------------------
sessin 有的时候 访问不到!为什么呢
------解决方案--------------------
学习学习代码怎么用的!
------解决方案--------------------
这个不错。。
------解决方案--------------------
探讨