我正在創建一個網頁,允許用戶粘貼他們的代碼並獲得一個唯一的URL以便以後訪問它。問題是,我使用使用mysql_real_escape_string()存儲並顯示代碼;
mysql_real_escape_string($_POST['code'])
防止SQL注入,但它增加了斜線時,在稍後的日期顯示的代碼,這意味着代碼是相同的,它是被寵壞(斜線無處不在。)
當再次顯示代碼時,有沒有辦法「解除」它?
對不起,如果這似乎不清楚或明顯,這是我的第一個項目使用PHP。
我正在創建一個網頁,允許用戶粘貼他們的代碼並獲得一個唯一的URL以便以後訪問它。問題是,我使用使用mysql_real_escape_string()存儲並顯示代碼;
mysql_real_escape_string($_POST['code'])
防止SQL注入,但它增加了斜線時,在稍後的日期顯示的代碼,這意味着代碼是相同的,它是被寵壞(斜線無處不在。)
當再次顯示代碼時,有沒有辦法「解除」它?
對不起,如果這似乎不清楚或明顯,這是我的第一個項目使用PHP。
它是echo stripslashes($ code);你在找什麼?我認爲爲了增加安全性,您還必須將特殊字符轉換爲html實體,並在必要時去除所有腳本標記以避免xss攻擊。
參見:
從不編碼在存儲器上顯示。 – 2012-07-25 16:37:26
http://php.net/manual/en/function.stripslashes.php – 2012-07-25 16:27:54
請停止使用'mysql_ *'功能,因爲它們是[現在棄用](http://news.php.net/php.internals/53799)。改爲使用[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/en/book.pdo.php)。 – 2012-07-25 16:29:24
你確定斜槓是來自'mysql_real_escape_string()'還是他們在'$ _POST'? – 2012-07-25 16:30:30