我有一个 url,当有效时看起来像这样:
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 吗?
我一直在阅读有关准备好的语句,但这似乎令人生畏,我们在网站上到处使用这些变量,有很多页面和查询。在短期或中期,通过并更换它们是不可行的。
如果有另一种方法可以在没有准备好的语句的情况下验证数据,任何建议都将不胜感激。
提前致谢。