【发布时间】:2023-03-10 15:16:01
【问题描述】:
我以很高的声誉PHP家伙进行了这个讨论:
PDO 在这里没有用。以及 mysql_real_escape_string。 质量极差。
这当然很酷,但我真的不知道建议使用 mysql_real_escape_string 或 PDO 来修复此代码有什么问题:
<script type="text/javascript">
var layer;
window.location.href = "example3.php?layer="+ layer;
<?php
//Make a MySQL connection
$query = "SELECT Category, COUNT(BUSNAME)
FROM ".$_GET['layer']." GROUP BY Category";
$result = mysql_query($query) or die(mysql_error());
进入这个
$layer = mysql_real_escape_string($_GET['layer']);
$query = "SELECT Category, COUNT(BUSNAME)
FROM `".$layer."` GROUP BY Category";
,考虑到JavaScript 代码被发送到客户端。
【问题讨论】:
-
有人可以发布示例代码如何修复这个 SQL 注入漏洞吗?
-
@nikic 我知道你要去哪里,但它看起来并不万无一失:-)
-
是的,我也不认为它是万无一失的。我看到的问题是与编码相关的东西,正如我在下面的回答中提到的那样。但我不知道这些基于编码的黑客是如何工作的,因此不知道如何防止它们。
标签: php sql-injection