首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php用户管理系统

问php用户管理系统
EN

Stack Overflow用户
提问于 2012-02-06 16:46:50
回答 4查看 1.1K关注 0票数 2

我已经到了打开网站的最后一步了,但唯一让我抓狂的是php的用户管理。我找到了很多关于构建这些系统的资源,我相信我可以用我自己的方式来编写它们。问题是,当涉及到安全性时,我非常不知道该怎么做。例如,当涉及到通过SSL发送敏感信息时,一些人建议确保注册表单中的信息是加密的,这样攻击者就无法破解它。还有一些人建议确保调试消息不会在错误发生时显示,这样攻击者就不能重新追踪链接.etc。

现在,当我在这里和那里读到md5不再安全时,我想知道如何散列新的用户密码等。我找到了一些程序员的链接,他们已经提供了一些用户管理,但不确定他们是否足够好,因为我担心安全性作为优先CodeCanyon

那么现在我必须关注的安全措施是什么?有没有相关的资源?

谢谢,

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-06 17:13:31

你不必(你不应该)在人们告诉你要实现的不同东西之间做出选择。良好的安全性始终是分层的,这意味着您可以实现尽可能多的保护。这种方法有多种用途。每一层可以防止不同的攻击。每一层都可以防止具有不同经验的攻击者。每一层都会增加攻击者所需的时间。

以下是一些对身份验证系统有用的提示。

  • 不显示调试输出
  • 不使用MD5散列。SHA2甚至更好,
  • 是更好的存储密码时使用盐
  • 在您的表单上使用随机数(一次性令牌)
  • 在访问服务器上的数据库时总是要求服务器和客户端
  • 之间使用SSL加密,请确保信息泄露或其客户端操作是不可能的(例如。避免注入攻击,与数据库驱动程序使用准备好的语句等)
  • 确保所有失败的登录(无论是什么原因)花费相同的时间来防止定时攻击
  • 当一个登录的用户开始一个危险的操作(更改密码,付款等)时,重新授权他
  • 从不存储明文密码,永远不要,not anywhere
  • Require最低复杂度的密码
  • !保护你的php会话(另一个大话题,值得我们自己讨论)- -

正如你所看到的,你可以做很多事情(更多的人可能会告诉你更多的东西),你真正应该做的事情取决于你愿意承担的风险。但永远不要依赖单一的安全措施,始终要有分层的方法。

票数 4
EN

Stack Overflow用户

发布于 2012-02-06 16:59:11

直接回答你的问题:已经证明MD5确实存在冲突,并且有彩虹表漂浮在周围(参见Wikipedia)。PHP确实有相当多的散列函数available,它们都有不同的优缺点。请参阅php.net上的评论部分。

关于一般web应用程序的安全性,我建议您看看OWASP project,它是关于使web应用程序更安全的。一个不错的开始应该是看看Top Ten security vunerabilities (蓝色框中的“前十名”)。

票数 2
EN

Stack Overflow用户

发布于 2012-02-06 16:57:36

使用sha1存储密码,防止sql注入和xss脚本作为输入字段。会话劫持,防止固定。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9157554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档