我用PDO讀/爲了防止SQL注入進入MySQL數據對於PHP 5.6和PDO,是否需要轉義角色?
$stmt = $DBH->prepare("SELECT * FROM T_Users WHERE User_Name = :UN");
$stmt->bindParam(':UN', $user_name);
$stmt->execute();
中我應該在數據庫中輸入他們之前或在顯示數據庫中的數據之前逃脫字符的任何原因瀏覽器嗎?通過將JavaScript代碼記錄到我的數據庫中,惡意的人可以利用我的網站或其他用戶嗎?
謝謝!
你應該在這種情況下不要手動轉義任何東西。數據綁定不會轉義,如果您另外手動轉義,則最終會出現「雙重轉義」字符。不是你想要的。這一切都在文檔中進行了解釋。 – arkascha
通過使用Prepared,Parameterized Queries,您已經在處理SQL注入。沒有必要逃脫任何東西了。 –
如果惡意用戶選擇他的用戶名爲JavaScript代碼 - 如果用戶的用戶名顯示在瀏覽器中,會傷害其他用戶嗎?也許我只是太偏執...... – Mike