【发布时间】:2013-01-27 18:15:10
【问题描述】:
我正在编写我的第一个 php/mysql 站点,并意识到除了我在课程/书中学到的知识之外,我对安全性知之甚少。在发布自己的网站之前,我需要多少安全知识,而不必担心即使取得适度的成功也会吸引黑客并导致我的网站被入侵?
如果它有助于提供更多细节,我将创建一个允许用户添加纯文本内容以及浏览其他人添加的内容的网站。该文本旨在存储在数据库中。
【问题讨论】:
-
“如何保护我的 Web 应用程序”的回答范围很大。基础:使用准备好的 sql 语句,不要使用快速哈希来存储密码,使用
bcrypt或类似的。 -
首先,如果您正在阅读课程/书籍,您应该前往owasp.org/index.php/Category:Attack,那么您很可能容易受到某些东西(SQL 注入、XSS)的影响,因为其中大多数书籍都没有实现安全性它会使学习者感到困惑。
-
@Jon 什么是快速散列而不是非快速散列?我正在考虑使用我读到的 sha-512。我应该改用 bcrypt 吗?如果可以,你能解释一下原因吗?
-
@LawrenceCherone 我现在阅读了其中的一些文章,感谢分享。它讲授了各种攻击,我不知道有多少,也不知道哪些与我建立保护措施相关。例如,中间人攻击是基于 LAN 漏洞,如果我理解正确的话,不在我的控制范围内。
-
@gabrielg 使用快速散列(即任何真正的“散列”方法,包括 sha-512)现在很容易用计算机复制。 bcrypt 提供了一种解决方案,既可以对密码进行加盐,又可以很慢。如需更多参考,请查看:phpmaster.com/… 和 problog.jon-lawrence.com/2012/08/a-little-about-passwords
标签: php mysql security sql-injection