我一直在尋找如何最好地防止在PHP/MySQL的SQL注入的不僅僅是使用庫MySQLi/MySQL的世外桃源讀了這篇Is mysql_real_escape_string enough to Anti SQL Injection?在PHP中使用預準備語句/存儲過程時,如何防止SQL注入?
我已經看到了這個很好的線程How can I prevent SQL injection in PHP?
我用在桌面/內部工具上做很多MS SQL服務器的東西,我們總是編寫存儲過程來防止這種情況,所以我在PHP/mysql上使用PDO讀取相應的內容http://php.net/manual/en/pdo.prepared-statements.php
在上面的代碼行中:
準備語句的參數不需要引用;驅動程序自動處理這個。如果應用程序獨佔使用預準備語句,開發人員可以確保不會發生SQL注入(但是,如果正在使用未轉義的輸入構建查詢的其他部分,則仍然可以執行SQL注入)。
我一直在相信PDO確實可以防範SQL注入攻擊,所以任何人都可以提供一個PDO不足以從安全角度考慮的實例嗎?