2012-12-02 63 views

回答

0

使用mysqli_real_escape_string逃脫無論是打算在是你應該做的最少。

您也可能要考慮使用準備好的語句。

更多在這裏閱讀:http://php.net/manual/en/security.database.sql-injection.php

+5

請不要*使用字符串轉義。明智的PHP程序員將使用參數化查詢。 –

+0

我說這是他最不應該做的事情,顯然有更好的方法,如參數化和使用準備好的語句。 – bear

+1

更不用說準備好的語句在任何地方都不可用(閱讀:'mysql_ *'),是的,我知道開發人員不應該使用這套函數,但現實是我們是。 – bear

0

所有到您的文章的意見是很好的建議。我個人更喜歡通過PHP's PDO使用準備好的語句。

您從用戶那裏得到(直接或間接),每次您插入從您沒有明確設置一個變量,等你的查詢值,應該插入使用準備好的語句的查詢每個參數。沒有例外。更有經驗的開發人員可以放棄一些例外,但我不會推薦任何例外。

PDO::prepare一些例子PHP的文檔。