我打算写一个安全的登录脚本,我想问一下它应该有什么样的组件.
现在,这是我想到的事情
基本
注册
登录
登录后
我还应该考虑一下更重要的安全提示吗?
谢谢.
Sco*_*ski 12
这实际上是一个非常重要的问题,需要考虑许多问题.幸运的是,很多问题已经解决了.
password_hash()和password_verify()- 不要使用像MD5或SHA1这样的快速哈希,也不要使用自己的哈希策略,否则你会发现自己重新发明了PBKDF2 - password_hash()你可能希望它做的一切都没有强调实施细节.它们足够了; 好好学习这些工具.如果您使用的是PHP <5.5,请使用password_compat会话管理:使用内置的会议,在任何地方使用HTTPS没有混合内容,设置"httponly"和"secure"到true.在权限升级时重新生成会话(例如,用户登录).
如果你想成为偏执狂,你可以通过设置一个金丝雀会话变量来抵御会话固定攻击(这些日子实际上并不真实).在页面加载时,如果未定义(或与预期值不匹配),则销毁会话并将用户视为新的guest虚拟机.$_SESSION['canary']
htmlentities($input, ENT_QUOTES | ENT_HTML5, 'UTF-8')则非常好.这是我希望通过Paragon Initiative Enterprises博客上的一系列非常详尽的博客文章来回答的主题.
| 归档时间: |
|
| 查看次数: |
1284 次 |
| 最近记录: |