繁体   English   中英

安全的PHP登录系统?

[英]secure PHP login system?

我一直在开发一个基于PHP的CMS,用于我的机器人团队的网站。 当然,还有很多其他平台,但有什么好玩的呢?

但是,尽管如此,我们确实得到了额外的分数,因为我们可以说我们做的不仅仅是为Drupal或WP制作模板。 这有点无关,但我希望有一天能够将CMS作为FOSS发布,但它肯定会成熟并且更加安全。 但我离题了。

我已经到了开发这个需要登录系统的系统的地步。 这比我预期的更令人沮丧。 在安全方面,我可以一丝不苟,这不是一个例外。 问题是,我知道如何处理数据库安全(不信任用户输入,将密码存储为随机盐的哈希等),但我缺乏建立良好的客户端 - 服务器系统的知识。 这方面有几个问题:使用会话变量有多安全? 在这方面如何正确实现会话变量? 是否应在每次网页浏览时重新生成会话cookie? 在使用cookie来保持用户登录任何时间时,您放弃了很多安全性,但实现此类系统的最佳实践是什么?

关于这个主题的好教程也会有很大帮助。

谢谢你的时间。

如果您想要真正了解问题/解决方案的更多信息,而不是复制/粘贴某些代码,请查看本文。

http://jaspan.com/improved_persistent_login_cookie_best_practice

持久性cookie管理的优秀资源,虽然没有为您提供代码,但它为您提供了良好的基础/概念,以创建更安全的登录系统。

当然,最安全的PHP登录系统是没有持久登录功能的系统,因为用户凭证永远不会存储在除服务器之外的任何地方。

嗯,解释所有问题将填补一本大小合适的书 - 从不为他们提供解决方案。

“白痴指南”简要执行摘要的读者摘要版本是:

  • 使用SSL
  • 确保为会话cookie设置安全和httponly标志(阅读会话劫持,MITM攻击)
  • 在登录时重新生成会话ID(在会话固定时读取)并注销
  • 在身份验证和授权系统上实现一个抽象层
  • 在这两个组件中的每个组件上实现一个sperate抽象层
  • 实现每页授权检查
  • 如果您需要根据可见性/访问权限对数据进行分区,请提前解决

嗯,这里可以找到很多信息:

基于表单的网站身份验证的权威指南

点击该页面上的一些链接,将提高您的安全知识和登录问题/问题/问题/解决方案/ ......

使用一些现有的库,如http://freakauth.4webby.com/
为什么重新发明轮子!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM