0
直到現在,在處理來自HTML表單的輸入時,我一直在使用預處理語句和real_escape_string。例如:使用HTML表單和PHP預處理語句
$var1 = $dbconnection->real_escape_string($_POST['varFromForm']);
if ($insert = $dbconnection->prepare("INSERT etc.. ")) {
$insert->bind_param('s', $var1);
and so on..
雖然,通過輸出顯示所存儲的數據時,此弄亂格式化\ r \ n當新換行符在輸入的文本區域中使用。這是因爲它顯然已經逃過了兩次輸入。
所以我想確保我沒有誤解準備語句的處理,並且下面的代碼通過使用準備好的語句而不是逃避SQL注入是安全的?
$var1 = $_POST['varFromForm'];
if ($insert = $dbconnection->prepare("INSERT etc.. ")) {
$insert->bind_param('s', $var1);
and so on..
你是如何設置數據庫連接的? – PeeHaa
On準備語句http://stackoverflow.com/a/8265319/285587 –
轉義(和HTML表單)http://stackoverflow.com/a/9296858/285587 –