2014-05-12 46 views
0

人們傾向於通過mysqli獲取PDO數據庫API的宗教信仰。通常你會發現有關mysqli的問題,如'忘記mysqli,使用PDO'。它是安全的方式'。所以我一直在跟着,掌握這個PDO概念,準備陳述和綁定他們等等。PDO數據庫API如何針對SQL注入安全地保護您的應用程序?

但是有什麼大不了的?爲什麼人們通過這種方式努力使用數據庫? 這是如何保護您的應用程序免受SQL注入的?

+0

你碰巧混淆了一切。 mysql與mysqli ans安全性與可用性 –

+0

無論哪種方式,它是http://stackoverflow.com/a/14112684/285587和其他人 –

+0

謝謝。混亂是多餘的。我只是很好奇,爲什麼PDO被認爲是連接到MySQL數據庫的最佳實踐。 – Lee

回答

1

PDO不能防範SQL注入。您仍然可以在PDO中編寫完全危險的注射查詢,PDO不會在意。

PDO所做的是提供工具,使您可以安全地編寫查詢。

但是,如果它提供了一個安全的錘子,不要去責備PDO,然後你繼續用你的額頭開一些釘子。 PDO完成了它的工作並提供了工具,你是頭骨上有釘孔的人。

+0

我不知道這個。好吧,所以這個問題應該重寫... PDO提供什麼工具來防止SQL注入,那mysqli沒有提供? – Lee

+0

無。他們都支持佔位符,這是防範性防禦機制。它們也具有與舊式'mysql_real_escape_string()'在無法使用佔位符時提供的完全相同的轉義機制。 –

+0

+1我告訴人們PDO可以像牙刷一樣防止SQL注入,防止出現蛀牙。 :) –

相關問題