我知道大多數答案會說使用PDO/Mysqli,但我試圖看看我是否可以這樣做,然後移動到PDO/Mysqli仍在學習:這是否足以防止使用MYSQL_QUERY注入Mysql
這個函數是否足以防止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(「/(從|選擇|插入|刪除|地方|刪除表|節目表|#| * | - | \\ )/「),」「,$ sql);
由於我想要「從」檢查具有名稱「中選擇」「插入」標籤遊戲等
我已經停用降表從MySQL用戶
爲什麼在學習使用現代的庫之前,你會學習使用已過時的,過時的和通常不好的庫? – Quentin
這看起來像擊中電視遙控器上的每個按鈕只是爲了更換頻道。您可能已經改變了頻道,但您也可能啓動了DVD播放器並將圖像從彩色轉換爲黑白。最好先檢查遙控器是否有正確的按鈕。 (即閱讀關於[SQL注入](https://en.wikipedia.org/wiki/SQL_injection)的文檔!) –