主机名可以注入SQL吗?

时间:2019-01-18 21:37:43

标签: php mysql sql sql-injection code-injection

这是PHP中客户端主机名的超全局变量:

$_SERVER['REMOTE_HOST']

通常看起来像这样:

ecIP-AD-DRE-SS.us-west-1.compute.amazonaws.com
IP-AD-DRE-SS.bb.dnainternet.fi
IP-AD-DRE-SS.dynamic.lounea.fi

有人可以更改其主机名,使其包含能够进行SQL注入的内容吗? 另外,如果仅从用户输入中删除单引号',是否可以防止SQL注入?

1 个答案:

答案 0 :(得分:7)

  

有人可以更改其主机名,使其包含能够进行SQL注入的内容吗?

有趣的问题。也许?但这没关系,因为...

  

此外,如果仅从用户输入中删除单引号',是否可以防止SQL注入?

绝对不是。不用处理引号,而将prepared statementsbound parameters一起使用。

编辑:还要注意,您通常不希望Web服务器每次命中都进行DNS查找,因此通常$_SERVER['REMOTE_HOST']应该未设置。如果您偶尔需要进行查找以进行身份​​验证或登录,则可以在PHP中临时进行。