我有一个网址,有效时将如下所示:
site.com/page.php?id=12345
我试图了解我们是否容易受到 sql 注入的攻击。在这个特定的实例中,该值只能是正整数值,因为它是一个 ID 号。我们有时确实使用其他变量,可以是字母或文本字符串,例如搜索结果页面。
用于提取 ID 变量的代码示例如下:
$variable = "0";
if (isset($HTTP_GET_VARS["id"])) {
$variable = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS["id"] : addslashes($HTTP_GET_VARS["id"]);
}
在大多数从 url 获取变量的情况下,都是通过这种方式实现的。
这是为了防止 sql 注入吗?
我应该使用 mysql_real_escape_string 吗?
我一直在阅读有关准备好的语句的内容,但这似乎令人畏惧,我们在网站上到处都使用这些变量,有很多页面和查询。从短期或中期来看,彻底更换它们是不可行的。
如果有一种替代方法可以在没有准备好的语句的情况下验证数据,任何建议将不胜感激。
提前致谢。
这是为了防止 sql 注入吗?
No.
我应该使用 mysql_real_escape_string 吗?
No.
如果有替代方法的话。
No.
每种方法都需要重写所有代码——这样或那样。
然而,选择权是你的。
如果网站的价值不值得付出努力来正确重写它 - 好吧,保持原样。
如果价值很高——例如,尝试雇用某人来完成这项工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)