gpt4 book ai didi

php - SQL 注入(inject)预防 - GET_VARS

转载 作者:行者123 更新时间:2023-11-29 01:42:29 24 4
gpt4 key购买 nike

我有一个 url,它在有效时看起来像这样:

site.com/page.php?id=12345

我试图了解我们是否容易受到 sql 注入(inject)攻击。在这个特定的例子中,该值应该只是一个正整数值,因为它是一个 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 注入(inject)吗?

我应该使用 mysql_real_escape_string 吗?

我一直在阅读有关准备好的语句的信息,但这似乎令人生畏,我们在网站上到处使用这些变量,有很多页面和查询。从短期或中期来看,检查并更换它们是不可行的。

如果有一种替代方法可以在没有准备好的语句的情况下验证数据,我们将不胜感激任何建议。

提前致谢。

最佳答案

Is this doing anything to prevent sql injections?

没有。

Should I be using mysql_real_escape_string?

没有。

If there was an alternative way.

没有。
每种方式都需要重写所有代码——这种方式或另一种方式。

然而,选择权在你。
如果网站的值(value)不值得正确重写它所需的努力 - 好吧,保持原样。
如果值(value)很高 - 例如尝试雇用某人来完成这项工作。

关于php - SQL 注入(inject)预防 - GET_VARS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16557785/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com