PHP网站被攻击

1 mysql php

我有一个带有 MySQL 数据库的基于 PHP 的网站。几天前,我收到一封电子邮件,其中包含数据库中的所有用户以及他们的解码密码(密码是使用 MD5 编码的)。

更改所有密码(ftp、数据库和所有用户的密码)后,我收到了一封包含用户新信息的电子邮件。

我已经使用mysql_real_escape_stringhtmlentities清理了用户输入。不知道还能做什么来保护站点免受其他入侵。有没有人对这怎么会发生以及我可以做些什么来防止它有任何想法?

非常感谢您的帮助!

小智 12

  1. 询问攻击者。他们联系了你(而不是保持沉默,只是出售信息),所以大概他们也想帮助你。

  2. 检查所有SQL 查询,查找丢失的输入转义等。请特别注意对用户表的查询,尤其是在执行SELECT *.

  3. 尽可能避免 SELECT * - 只需选择您需要的字段。

  4. htmlentities 不能正确转义要插入到 SQL 查询中的数据。为此,您应该始终使用 mysql_real_escape_string。htmlentities 和 htmlspecialchars 用于在将数据发送到浏览器之前对其进行清理。

  5. 考虑使用准备好的语句,例如使用PDO。这将大大简化防止 SQL 注入的任务,因为根本不需要对数据进行转义。(在回显到浏览器之前你仍然需要 htmlentities,但 XSS 是一个不同的话题)。

  • +1 另一个选项是“0。如果网站尚未发生,则将其脱机” (3认同)