要创建一个安全的PHP/MySQL网站,最重要的事情是什么?

要创建一个安全的PHP/MySQL网站,最重要的事情是什么?,php,mysql,Php,Mysql,这是一个观点问题,但总的来说,对于使用MySQL数据库的基于PHP的网站,什么样的安全预防措施才是最理想的?该网站将包括注册和登录,并需要保护用户的个人信息。您必须了解主要事项: 用户像猴子一样愚蠢。他们随时点击任何东西 HTTPS 良好的编程技巧 杂烩+盐 PHP错误 所有可能通过PHP和MySQL攻击网站的方法。救火 用火 安全web开发的黄金法则:过滤输入,转义输出 下面是一篇很好的文章,实际上对其进行了总结:主要问题是: SQL注入 输出数据时使用XSS 以下是一些链接: 阅

这是一个观点问题,但总的来说,对于使用MySQL数据库的基于PHP的网站,什么样的安全预防措施才是最理想的?该网站将包括注册和登录,并需要保护用户的个人信息。

您必须了解主要事项:

  • 用户像猴子一样愚蠢。他们随时点击任何东西
  • HTTPS
  • 良好的编程技巧
  • 杂烩+盐
  • PHP错误
  • 所有可能通过PHP和MySQL攻击网站的方法。救火 用火

安全web开发的黄金法则:过滤输入,转义输出


下面是一篇很好的文章,实际上对其进行了总结:

主要问题是:

SQL注入 输出数据时使用XSS

以下是一些链接:






阅读它们,我希望你会遵循许多答案中的建议。

这是一个非常大的问题,有几十本书专门为回答这个问题而写,但这里有一些重要的东西:

1-永远不要信任用户输入数据($\u GET和$\u POST)。在打印/保存到数据库之前,始终清理所有内容

2-避免直接在SQL上连接参数。始终使用$db->bindParam()或其他类似函数

3-切勿存储纯文本密码。始终使用哈希算法。为了安全起见,也要用盐

4-总是期望最坏的情况发生。因为它会的

5-阅读有关XSS、CSRF的内容。确保你的应用程序不受这些影响


6-获得经验=)

在我打字时,有很多答案出现。我想他们打字更快-p

所有这些都是很好的答案,我不知道你会如何选择最好的答案,但大多数都差不多

  • 永远不要以纯文本形式存储密码。将SHA-2算法与 盐。把炸土豆条和盐放好

  • 永远不要相信用户的输入。在存储数据库之前以及在任何时候使用数据库之前,都要对数据库中的所有内容进行清理

  • 使用事先准备好的陈述。调查PDO

  • 尽可能使用HTTPS


  • 这些只是需要牢记的几件事。最重要的是研究你@ss off。:-)

    你也必须逃避输入,尤其是数据库中的输入。我之所以把它搞大是因为。。。我希望这能给像我这样的noobs提供一个通用的资源,让他们知道从哪里开始攻击:DNice链接列表。几天前,我在SO上读到了一个关于如何正确散列密码的好答案,但现在我似乎找不到了。我想我应该喜欢它。