我正在创建一个函数,它将检查字符串(一旦字符串通过函数发送),用于SQLI和XSS攻击中使用的常用语法;问题是,我只知道一些..但不是全部,所以我想知道SO上的人是否能够给我一些关于这些类型攻击的常见用途的信息/语法。
我的代码如下:
function CleanInput ($Arg)
{
foreach (array("@", "<", ">", "'", "|", "/", "\\", "-", "+", "-", "_", "'") as $value)
{
$check = strpos($Arg, $value);
if ($check !== false)
{
return true;
}
}
return false;
}
答案 0 :(得分:1)
输入本身并非“干净”或“不干净”。像对待它一样对待它(就像你在这里做的那样)是一个快速跟踪奇怪的功能问题和安全漏洞。
相反,请始终牢记您发送数据的位置(无论是否为用户输入!),并确保以适合输出的方式修改数据。例如:
htmlspecialchars()
)。json_encode()
。没有例外。一般情况下:在输出时转义数据,而不是输入。