作者hareion08 (巨蟹)
看板PHP
标题[请益] Session登入状态请益
时间Mon Jan 19 09:02:22 2015
听过有网站直接在
Session存一个值就表示登入中
例如:Login=ok,user=admin
真的安全吗?
虽然说session是伺服器端而且有加密
…
不过另一种做法
在session 存登入资讯或token
每个页面都做验证
这样感觉很吃资料库跟系统的效能
Orz 请各位前辈指教
--
Sent from my Android
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.160.222.125
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1421629345.A.081.html
※ 编辑: hareion08 (118.160.222.125), 01/19/2015 09:03:13
1F:推 LaPass: 安全,一般人没办法直接拿到session 01/19 10:11
2F:→ LaPass: 那种状况下,入侵的方式是拿到COOKIES 01/19 10:12
了解~感谢!
3F:→ MOONRAKER: 验证很简单,存一些uid之类的资讯,再存一个hash 01/19 10:24
4F:→ MOONRAKER: hash内容包括一个密钥,不存在session里 01/19 10:25
5F:→ MOONRAKER: 验证时取出资讯,跟密钥再hash一次,看有没有符合 01/19 10:26
6F:→ MOONRAKER: 这样就不牵涉资料库。就算每页都要对资料库检查权限那 01/19 10:30
7F:→ MOONRAKER: 也可以用cache和其他手段来缓和。 01/19 10:30
我是用Codeigniter当Framework 不知道他本身是不是本来就有hash session?
是的话,那我真的担心太多了XD
※ 编辑: hareion08 (140.112.50.144), 01/19/2015 10:40:51
8F:→ MOONRAKER: 你用CI可能反而要小心一点 CI改用cookie来模拟session 01/19 10:54
9F:→ MOONRAKER: 而且除非你用一些third-party的login plugin 他并没有 01/19 10:57
10F:→ MOONRAKER: 内建的机制特别做每一页的hash validation 01/19 10:57
11F:→ MOONRAKER: 有写好的library可以直接把CI的cookie-based session 01/19 10:58
12F:→ MOONRAKER: 换回php native session 至少可以保证一定存在server上 01/19 10:59
13F:→ MOONRAKER: 可以找一找 然後把system/libraries/Session.php换掉 01/19 11:00
已替换(
http://ppt.cc/~YsH ),感谢提醒
然後再自己写个hash validation巩固安全!
※ 编辑: hareion08 (140.112.50.144), 01/19/2015 11:13:51
※ 编辑: hareion08 (140.112.50.144), 01/19/2015 11:14:13