30 个 有关PHP教程的Google 搜索结果中有 16 个包含 SQL 注入漏洞

今天,出于好奇,我用谷歌搜索了php mysql email register.得到一些教程、操作方法和代码片段。但是大多数搜索结果包含有缺陷的数据库语句。例如:

// Don't do this! 
mysqli_query("SELECT * FROM user WHERE id = '" . $_POST["user'] . "'");

存在的问题

  1. SQL 语句中的所有参数都被分类转义。
  2. 仅在绝对必要的情况下才转义传入的数据。
  3. 作者尝试了一些转义,但仍然存在漏洞。
  4. 没有任何逃逸逻辑。

节选部分查询结果:

#StatusURLSiteNotes
13linkCodeWithAwa"SELECT * FROM users WHERE email='$email' LIMIT 1";
23linkWebslessonWHERE user_activation_code = '".$user_activation_code."'
31linkphppot
41linkAaraf Academy
52linkCodingNepal

我一找到至少一个容易SQL注入的地方,就跳到下一篇文章。当然,在这 30 个结果中还可以找到更多问题,这只是我粗略浏览的结果,只是专门寻找 sql 注入漏洞。

我的主要的收获是发现大多数 Google 搜索结果的低质量。简单来说,其中一些搜索结果完全就是胡说八道,不过是靠SEO优化成了“优质”搜索结果。