頁面轉義單引號,雙引號對于我們網站安全有很大的問題,我們經常會使用addslashes()和stripslashes()進行轉義之后存入數據庫了,這樣可以防止sql注入了,下面來看看.
PHP頁面中如果不希望出現以下情況:
單引號被轉義為 \',雙引號被轉義為 \"
那么可以進行如下設置以防止:
方法一:在php.ini中設置:magic_quotes_gpc = Off
方法二: $str=stripcslashes($str)
1,對于PHP magic_quotes_gpc=on的情況,例子代碼如下:
- <?php
- $str=$_POST['str'];
- //開源代碼Vevb.com
- if(!get_magic_quotes_gpc()){//首先判斷未開啟
- $newStr=addslashes($str);//然后用addslashes函數過濾
- }
- ?>
我們可以不對輸入和輸出數據庫的字符串數據作
addslashes()和stripslashes()的操作,數據也會正常顯示,如果此時你對輸入的數據作了addslashes()處理,那么在輸出的時候就必須使用stripslashes()去掉多余的反斜杠.
2.對于PHP magic_quotes_gpc=off 的情況
必須使用addslashes()對輸入數據進行處理,但并不需要使用stripslashes()格式化輸出,因為addslashes()并未將反斜杠一起寫入數據庫,只是幫助mysql完成了sql語句的執行.
新聞熱點
疑難解答