我已经到了打开网站的最后一步了,但唯一让我抓狂的是php的用户管理。我找到了很多关于构建这些系统的资源,我相信我可以用我自己的方式来编写它们。问题是,当涉及到安全性时,我非常不知道该怎么做。例如,当涉及到通过SSL发送敏感信息时,一些人建议确保注册表单中的信息是加密的,这样攻击者就无法破解它。还有一些人建议确保调试消息不会在错误发生时显示,这样攻击者就不能重新追踪链接.etc。
现在,当我在这里和那里读到md5不再安全时,我想知道如何散列新的用户密码等。我找到了一些程序员的链接,他们已经提供了一些用户管理,但不确定他们是否足够好,因为我担心安全性作为优先CodeCanyon
那么现在我必须关注的安全措施是什么?有没有相关的资源?
谢谢,
发布于 2012-02-06 17:13:31
你不必(你不应该)在人们告诉你要实现的不同东西之间做出选择。良好的安全性始终是分层的,这意味着您可以实现尽可能多的保护。这种方法有多种用途。每一层可以防止不同的攻击。每一层都可以防止具有不同经验的攻击者。每一层都会增加攻击者所需的时间。
以下是一些对身份验证系统有用的提示。
正如你所看到的,你可以做很多事情(更多的人可能会告诉你更多的东西),你真正应该做的事情取决于你愿意承担的风险。但永远不要依赖单一的安全措施,始终要有分层的方法。
发布于 2012-02-06 16:59:11
直接回答你的问题:已经证明MD5确实存在冲突,并且有彩虹表漂浮在周围(参见Wikipedia)。PHP确实有相当多的散列函数available,它们都有不同的优缺点。请参阅php.net上的评论部分。
关于一般web应用程序的安全性,我建议您看看OWASP project,它是关于使web应用程序更安全的。一个不错的开始应该是看看Top Ten security vunerabilities (蓝色框中的“前十名”)。
发布于 2012-02-06 16:57:36
使用sha1存储密码,防止sql注入和xss脚本作为输入字段。会话劫持,防止固定。
https://stackoverflow.com/questions/9157554
复制相似问题