《PHP學習:php常用的安全過濾函數集錦》要點:
本文介紹了PHP學習:php常用的安全過濾函數集錦,希望對您有用。如果有疑問,可以聯系我們。
PHP實戰雖然各種開發框架給我們提供了很好的安全的處理方式,但是,我們還是要注意一下安全問題的.
?原因簡單:很多小的功能和項目是用不到框架的,我們需要自己解決安全問題!
PHP實戰①常用的安全函數有哪些:
PHP實戰②這些函數的作用:
PHP實戰mysql_real_escape_string()和addslashes()函數都是對數據中的 單引號、雙引號進行轉義!也就是防止sql注入!
?但是mysql_real_escape_string()考慮了字符集,更加的安全一些!
?經過查閱相關的資料,可以得出一個結論:當前的字符集是單字節的話,這兩個函數作用相同,都可以起到轉義過濾的作用,但是,有誰會只是用單字節呢?尤其是utf8越來越廣泛的被使用到!
PHP實戰③函數的用法:
PHP實戰在了解mysql_real_escape_string()和addslashes()這兩個函數的用法的時候,我們必須先了解另外兩個函數的含義!
PHP實戰get_magic_quotes_gpc()和get_magic_quotes_runtime(),我們來比較一下兩個函數的異同:
PHP實戰相同:
?
a、兩者都是用來獲取php.ini配置文件的配置情況的!當開啟的時候返回1,關閉的時候返回0!
PHP實戰b、當開啟的時候,都會對指定范圍內的數據進行轉義過濾!
PHP實戰
PHP實戰不同:
a、兩者的作用范圍不同:
magic_quotes_gpc主要作用于web客戶端,簡單的說主要是對$_GET、$_POST、$_COOKE中的數據進行過濾!
magic_quotes_runtime主要是對文件中讀取的數據或從數據庫查詢得到的數據進行過濾!
b、設置時間不同:
magic_quotes_gpc不可以在運行時進行設置[只能在重啟服務器的時候讀取該設置]
magic_quotes_runtime可以在運行時設置!
?注意:所謂運行時設置,就是,我們可以通過ini_set()函數,在腳本中對php.ini文件中的配置進行設置!
?
明白了get_magic_quotes_gpc()和get_magic_quotes_runtime()這兩個函數的后,我們就應該明白了:當我們檢測到php.ini配置文件開啟了magic_quotes_runtime 和 magic_quotes_gpc的話,就會自動的對指定范圍內的數據進行轉義!如果關閉的話,我們就需要使用mysql_real_escape_string()[或者addslashes函數進行過濾]
PHP實戰④舉例說明:
PHP實戰1、無論magic_quotes_gpc和magic_quotes_runctime開啟還是關閉的情況下getdata.php腳本,都可以對數據進行安全轉移,內容如下:
PHP實戰?在sourceData.txt中的內容如下:
PHP實戰我們請求getData.php時的url如下:
PHP實戰php.test.com/safe/getdata.php?name=maw'eibin&age=25
?
執行結果如下:
PHP實戰⑤參考資料:
歡迎參與《PHP學習:php常用的安全過濾函數集錦》討論,分享您的想法,維易PHP學院為您提供專業教程。