我正在编写登录脚本,希望尽可能地使其安全。问题是,安全似乎是一个永远无法结束的战斗。因此,我正在寻找对我的想法的建议和改进。
我所拥有的只是基于会话的登录。每当会话信息发生变化时,将调用session_regenerate_id()
以避免明显的劫持尝试。
当会话未设置时,我检查有效的登录cookie,在成功后更新会话。
我试图通过添加散列值和一些唯一用户信息(如用户名或ID)来保护cookie的安全性。这个哈希值由各种信息组成,包括用户名/ID,不可解密的密码哈希,IP地址的部分等。通过从cookie中提取用户名/ID,我可以从有效的用户信息生成新哈希并将其与cookie中的哈希进行比较。我的愿望是防止伪造的cookie和cookie劫持(除非他们也欺骗了IP地址)。
编辑假设登录本身将通过HTTPS / SSL完成,因此传输是(相对)安全的。
我走在正确的轨道上吗?还能做什么来保护我的登录?
感谢您的帮助!