[英]PHP/MySQL: Is prepared statements the solution for this?
如果我在所有MySQL查詢中使用mysql_real_escape_string()
准備語句,我是否還需要使用mysql_real_escape_string()
等來阻止它從SQL注入?
問題是:我讓我的代碼通過foreach
所有$_POST
元素和mysql_real_escape_string()
在每個元素上運行。
但是當我開始在textareas
上使用CKEditor時它就成了一個問題,因為它生成了插入到數據庫中的HTML代碼,但在插入之前,它通過我之前提到過的foreach
循環,逃避了CKEditor生成的所有引號,在HTML頁面中顯示時不起作用。
那么准備好的陳述是可行的方法嗎?
如果正確使用預准備語句,則無需轉義要插入的內容,因為您要將內容與SQL代碼分開。
但它不是一種神奇的方法,只是“使用准備好的方法”。 您需要確保您的代碼實際進入參數。 你可以(我不是說你這樣做,但是要確定)只是准備一個你本來可以運行的查詢,並且遇到過你曾經遇到的同樣的問題。
如果你還記得准備好的語句不是一個神奇的“現在它是安全的”按鈕,你可以跳過轉義代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.