• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ThinkPHP 中USER_AUTH_KEY 什么作用? 把session存在C('USER_AUTH_KEY’) 中有什么好处?

php 搞代码 4年前 (2022-01-23) 12次浏览 已收录 0个评论
文章目录[隐藏]

正在研究ThinkPHP中登录检测,登录成功保存Session看到两种形式,第一种:Session::set(‘username’,$_POST[‘username’]);
第二种:
Session::set(C(‘USER_AUTH_KEY’),$username);

第二种方法需要在配置文件中写 ‘USER_AUTH_KEY’=>’authId’,
请大牛解释下两种方法有什么不同么?第二种里面设置这个USER_AUTH_KEY 干嘛?

有人说是为了防止在一个域名下 运行多套thinkphp登陆时 存放用户id的session发生冲突。但是想来想去不知道如果不这样会发生怎样的冲突,会出现两个会话的session id相同的情况?

回复讨论(解决方案)

其实两种都是设置Session只是,后一种session的key被固化在了配置文件中,很多时候只要修改配置文件的USER_AUTH_KEY配置节下面的值就能改变session的Key

我认为,主要是为了对session加密进行使用的。

其实两种都是设置Session只是,后一种session的key被固化在了配置文件中,很多时候只要修改配置文件的USER_AUTH_KEY配置节下面的值就能改变session的Key
那在使用Session方面会发生一楼所说的冲突的情况吗?

我认为,主要是为了对session加密进行使用的。
从哪里加密呢?session在使用时需要加密么?

你可以加密也可以不加密这个取决如你。

我认为,主要是为了对session加密进行使用的。
从哪里加密呢?session在使用时需要加密么?
对数据的加密是一种好习惯,例子:md5(sessionid+’USER_AUTH_KEY’),存入的时候就存这个值,解密就不多说了,他可以根据不同的用户类型使用不同的USER_AUTH_KEY 如:管理员使用ADMIN_USER_AUTH_KEY。
这些在密码中很常用,谁都不希望把明文的密码保存到数据库吧。
我的解释完毕,希望对你有帮助。

我认为,主要是为了对session加密进行使用的。
从哪里加密呢?session在使用时需要加密么?
对数据的加密是一种好习惯,例子:md5(sessionid+’USER_AUTH_KEY’),存入的时候就存这个值,解密就不多说了,他可以根据不同的用户类型使用不同的USER_AUTH_KEY 如:管理员使用ADMIN_USER_AUTH_KEY。
这些在密码中很常用,谁都不希望把明文的密码保存到数据库吧。
我的解释完毕,希望对你有帮助。
如果我不把session放数据库里,而是直接放到服务器硬盘里或者缓存里,加密就没什么意义了吧?

大家讲了这么多,没有讲到我比较疑惑的session冲突问题,我怎么感觉同一个服务器session冲突的可能性几乎不存在呢?

哦,原来楼主是纠结这个啊,同一台机器是不存在你说的那种session冲突的呀,建议楼主把session原理好好复习一下。@本文来源gaodaimacom搞#代%码@网-搞代gaodaima码

综上呢,我比较倾向于2楼所说。楼上也给了我很好的启发,谢谢!另外,是不是要结贴?分怎么散?

OK,已结。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ThinkPHP 中USER_AUTH_KEY 什么作用? 把session存在C('USER_AUTH_KEY’) 中有什么好处?
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址