原因簡單:很多小的功能和項目是用不到框架的,我們需要自己解決安全問題!①常用的安全函數(shù)有哪些:
復制代碼 代碼如下:
mysql_real " /> 中文字幕日韩综合av,av在线网页,秋霞在线视频

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php常用的安全過濾函數(shù)集錦

雖然各種開發(fā)框架給我們提供了很好的安全的處理方式,但是,我們還是要注意一下安全問題的。
 原因簡單:很多小的功能和項目是用不到框架的,我們需要自己解決安全問題!

①常用的安全函數(shù)有哪些:
復制代碼 代碼如下:
mysql_real_escape_string()
 addslashes()

②這些函數(shù)的作用:

mysql_real_escape_string()和addslashes()函數(shù)都是對數(shù)據(jù)中的 單引號、雙引號進行轉義!也就是防止sql注入!
 但是mysql_real_escape_string()考慮了字符集,更加的安全一些!
 經過查閱相關的資料,可以得出一個結論:當前的字符集是單字節(jié)的話,這兩個函數(shù)作用相同,都可以起到轉義過濾的作用,但是,有誰會只是用單字節(jié)呢?尤其是utf8越來越廣泛的被使用到!

③函數(shù)的用法:

在了解mysql_real_escape_string()和addslashes()這兩個函數(shù)的用法的時候,我們必須先了解另外兩個函數(shù)的含義!

get_magic_quotes_gpc()和get_magic_quotes_runtime(),我們來比較一下兩個函數(shù)的異同:

相同:
 
a、兩者都是用來獲取php.ini配置文件的配置情況的!當開啟的時候返回1,關閉的時候返回0!

b、當開啟的時候,都會對指定范圍內的數(shù)據(jù)進行轉義過濾!

不同:
a、兩者的作用范圍不同:
magic_quotes_gpc主要作用于web客戶端,簡單的說主要是對$_GET、$_POST、$_COOKE中的數(shù)據(jù)進行過濾!
magic_quotes_runtime主要是對文件中讀取的數(shù)據(jù)或從數(shù)據(jù)庫查詢得到的數(shù)據(jù)進行過濾!
b、設置時間不同:
magic_quotes_gpc不可以在運行時進行設置[只能在重啟服務器的時候讀取該設置]
magic_quotes_runtime可以在運行時設置!
 注意:所謂運行時設置,就是,我們可以通過ini_set()函數(shù),在腳本中對php.ini文件中的配置進行設置!
 
明白了get_magic_quotes_gpc()和get_magic_quotes_runtime()這兩個函數(shù)的后,我們就應該明白了:當我們檢測到php.ini配置文件開啟了magic_quotes_runtime 和 magic_quotes_gpc的話,就會自動的對指定范圍內的數(shù)據(jù)進行轉義!如果關閉的話,我們就需要使用mysql_real_escape_string()[或者addslashes函數(shù)進行過濾]

④舉例說明:

1、無論magic_quotes_gpc和magic_quotes_runctime開啟還是關閉的情況下getdata.php腳本,都可以對數(shù)據(jù)進行安全轉移,內容如下:
復制代碼 代碼如下:
<?php
    if(!get_magic_quotes_gpc()) {
        foreach($_GET as $key=> &$value) {
            $value = mysql_real_escape_string($value);
        }
    }
    if(!get_magic_quotes_runtime()) {
        $sourceDataRecord= file('./sourceData.txt');
        if($sourceDataRecord) {
            foreach($sourceDataRecord as $sourceKey => &$sourceValue) {
                $sourceValue = mysql_real_escape_string($sourceValue);
            }
        }
    }
    $gpcData = implode("/t", $_GET);
    $runtimeData = implode("/t", $sourceDataRecord);
    echo $gpcData, $runtimeData;
?>

 在sourceData.txt中的內容如下:

復制代碼 代碼如下:
" It's anoterh sunday afternoon
 I'm trunning turnning.....turnning around "
 

我們請求getData.php時的url如下:

php.test.com/safe/getdata.php?name=maw'eibin&age=25
 
執(zhí)行結果如下:

復制代碼 代碼如下:
maw/'eibin 25/" It/'s anoterh sunday afternoon/r/n I/'m trunning
 turnning.....turnning around /"

⑤參考資料:

http://www.jb51.NET/article/35868.htm

php技術php常用的安全過濾函數(shù)集錦,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 绵竹市| 玛多县| 英吉沙县| 思茅市| 临夏县| 岫岩| 宣恩县| 城固县| 古交市| 昌黎县| 靖江市| 昭苏县| 长阳| 郧西县| 禹州市| 禄劝| 潍坊市| 同心县| 抚远县| 嘉峪关市| 潮州市| 韩城市| 莆田市| 理塘县| 西贡区| 绍兴县| 博白县| 仁寿县| 肃宁县| 明光市| 珲春市| 民县| 东源县| 张家港市| 乌海市| 永川市| 湘潭市| 武威市| 都江堰市| 根河市| 大悟县|