使用加密cookie代替session验证用户登录状态 源码分享 欢迎拍砖小论坛地址:http://rayyu.5d6d.com/thread-
使用加密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 codeDim user As New Rayyu.User() '初始化用户信息(检测当前请求用户是否登录)If user.Online ThenConsole.Write("<br />name:" & user.Name & ",online:" & user.Online & ",id:" & user.ID)End IfDim user2 As New Rayyu.User(1, "用户名", False) '初始化(写入新用户) C#调用代码
C# codeRayyu.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 有的时候 访问不到!为什么呢
[解决办法] 学习学习代码怎么用的!
[解决办法] 这个不错。。
[解决办法] 探讨
我是用他来实现登录判断哦 请看完好嘛 引用: 登录系统也是这样。登录时,你应该给用户发一张“通行证”,这张通行证指明了用户名,通行证有效期,用户所使用的应用系统(因为同一个用户可能用桌面与手机同时访问),最后一次刷新访问的时间、以及用户的权限(以便减少查找次数)等信息。 cookie中只需要同行者编号,明文就好了,用不着加密。[解决办法] 正好需要
还带补充的
[解决办法] 有水平,不错不错
[解决办法] 正好需要
还带补充的
[解决办法] SESSION还在的 会把sessionID放在URL里面作为querystring 服务器获取到之后再在处理管道中把这个sessionID拿掉返回正常的URL
探讨 引用: 客户端禁用cookie了这种方式就毁了喔.! 呵呵 session不一样也毁了?[解决办法] 其实需要时间戳。。如果改了密码。把时间更改下和cookie的时间比对,错误跳转到登录页面,重新登录
[解决办法] 不错学习一下
[解决办法] 时间戳是需要的。
[解决办法] 好东西学习一下,多谢楼主
[解决办法] 我的好好学习一下
[解决办法] 谢谢分享
[解决办法] 怎么是VB啊,我还以为是C#的呢
[解决办法] 谢谢分享!
[解决办法] 谢谢分享
[解决办法] 为什么呢
[解决办法] 探讨 cookie空间是非常有限的。 实际上保存一个后台数据库的id编号就行了,用不着在cookie中保存内容。例如购物车,你保存购物车编号就行了,而购物车内容是在数据库中持久化、在数据缓存系统中加速,根本用不着在客户端浏览器跟服务器之间来来回回地传送![解决办法] 探讨 支持![解决办法] 看大家的评论才是件很爽的事情
[解决办法] Session本质上就是Cookie, 通过一个Http-Only的Cookie保存服务器端Session的一个key
[解决办法] 对cookie的解释不错
[解决办法] 探讨 SESSION还在的 会把sessionID放在URL里面作为querystring 服务器获取到之后再在处理管道中把这个sessionID拿掉返回正常的URL 引用: 引用: 客户端禁用cookie了这种方式就毁了喔.! 呵呵 session不一样也毁了?[解决办法] 看看了 谢了