例如:是否有必要使用mysql_real_escape_string()將圖像轉換爲mysql?
$data = file_get_contents($_FILES['image']['tmp_name']);
$data = mysql_real_escape_string($data);
mysql_query("INSERT INTO table set image='$data'....
這是一個正確的方式來堅持?
例如:是否有必要使用mysql_real_escape_string()將圖像轉換爲mysql?
$data = file_get_contents($_FILES['image']['tmp_name']);
$data = mysql_real_escape_string($data);
mysql_query("INSERT INTO table set image='$data'....
這是一個正確的方式來堅持?
我會建議保留它,除非有理由刪除它,因爲它是一種防止sql注入的好方法。看到這裏:http://php.net/manual/en/function.mysql-real-escape-string.php。
這可能是通過用戶可以上傳或客戶端可能意外使用的圖像進行sql注入。
不使用它的原因可能是性能。我傾向於建議性能安全。
你可以做一個base64_encode
,讓您的數據的完整性,並確保你不會有任何形式的字符的問題,實際上它是保持和傳輸數據非常常見的方式。並讓它回來使用base64_decode
。
地獄,爲什麼不呢? :O – Anonymous 2012-01-04 05:06:15
由於編碼類型,數據類型和一些其他因素,您可能會丟失數據完整性。 – khael 2012-01-04 05:10:45
mysql擴展已過時,正在棄用。新代碼應該使用mysqli或PDO,它們都具有重要的優點,例如支持預處理語句。準備好的語句參數不容易受到SQL注入的影響。 – outis 2012-01-04 05:21:06