0
由於我使用PDO來防止SQL注入,是否仍需要應用PHP的數據過濾器以確保輸入是正確的格式? PDO是否保護所有類型的注射?使用過濾日期過濾用戶輸入
$STH = $DBH->prepare("SELECT * from jem WHERE email=? AND pass=? LIMIT 0,1");
任何更多的提示登錄腳本將是幫助。
由於我使用PDO來防止SQL注入,是否仍需要應用PHP的數據過濾器以確保輸入是正確的格式? PDO是否保護所有類型的注射?使用過濾日期過濾用戶輸入
$STH = $DBH->prepare("SELECT * from jem WHERE email=? AND pass=? LIMIT 0,1");
任何更多的提示登錄腳本將是幫助。
在使用PDO之前,我想你正在驗證你的數據(例如使用一個驗證過濾器),然後在將它插入到你的數據庫之前將其轉義。現在,你只需要(但仍然需要)做第一件事。
關於你的第二個問題,PDO保護你免受SQL注入。在輸出之前,你仍然必須轉義html,以防止js代碼注入。
是的,我會使用「HTML Purifier」去除不相關的HTML和所有服務器端的systax。 – proyb3 2010-09-18 21:50:08
但你的意思是,我仍然需要使用過濾數據功能? – proyb3 2010-09-18 21:53:54
「過濾數據功能」:這是什麼?一組函數來驗證/清理數據?然後是...一個名爲filter_data()的函數?我不知道這個功能。應該使用HTML Purifier(PDO不知道任何關於HTML的內容,所以它不能處理與之相關的安全風險) – greg0ire 2010-09-18 22:41:56