我一直在使用base64_encode
從<textarea>
窗體保存html並將數據存儲在數據庫中。檢索時使用base64_decode
並將數據放入文本區。如果不使用mysql_real_escape_string()
,安全嗎?使用base64_encode而不是mysql_real_escape_string安全嗎?
我在使用mysql_real_escape_string
時,檢索模板id
的$_GET
參數。
templates.php?id=4
但是使用Base64保存HTML還保留任何惡意SQL代碼人們可能會在textarea的補充。到目前爲止,我沒有遇到任何問題。
這是不好的做法,使用base64而不是mysql_real_escape_string()
?
「錯誤的工具」?
注:我使用htmlspecialchars($text, ENT_QUOTES);
爲xss。
請不要使用古老的'mysql_ *'函數編寫新代碼。他們不再被維護,社區已經開始[棄用流程](http://news.php.net/php.internals/53799)。相反,您應該瞭解準備好的語句並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/mysqli)。如果你關心學習,[這裏是一個很好的PDO相關教程](http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers)。 –
你真的想要在你的數據庫中存儲base64 blob嗎?它不僅浪費空間,還會阻止您對數據庫中的數據執行任何操作。 – deceze
@deceze沒關係。我不會在存儲的html上運行查詢,但是其他部分是我逃過mysql的。 – Kyle