我知道大多数答案都会说使用 PDO/Mysqli,但我想看看我是否可以这样做,然后继续学习 PDO/Mysqli:
这个功能是否足以防止mysql注入?
function anti_inject($sql)
{
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"), "", $sql);
$sql = preg_replace("/[^a-zA-Z0-9]+/", " ", $sql);
$sql = mysql_real_escape_string($sql);
$sql = trim($sql);
$sql = strip_tags($sql);
$sql = addslashes($sql);
$sql = strtolower($sql);
return $sql;
}
为这一行寻找更好的替代品 $sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|*|--|\\)/"), "" , $sql);
因为我确实想检查具有“来自”“选择”“插入”游戏标签等的名称
我已经禁用了 mysql 用户的 drop table