99麻豆久久久国产免费福利精品,国产精品成人国产乱,玖玖操,手机看片169,国产精彩视频在线观看,午夜亚洲福利视频,国产伦乱视频

龍巖易富通網(wǎng)絡(luò)科技有限公司

龍巖小程序開(kāi)發(fā),龍巖分銷(xiāo)系統(tǒng)

PHP防范SQL注入的方法

2015.09.10 | 20閱讀 | 0條評(píng)論 | php

a. 打開(kāi)magic_quotes_gpc或使用addslashes()函數(shù)  


在新版本的PHP中,就算magic_quotes_gpc打開(kāi)了,再使用addslashes()函數(shù),也不會(huì)有沖突,但是為了更好的實(shí)現(xiàn)版本兼容,建議在使用轉(zhuǎn)移函數(shù)前先檢測(cè)magic_quotes_gpc狀態(tài),或者直接關(guān)掉,代碼如下: PHP防范SQL注入的代碼


// 去除轉(zhuǎn)義字符   

function stripslashes_array($array) {   

   if (is_array($array)) {   

      foreach ($array as $k => $v) {   

         $array[$k] = stripslashes_array($v);   

       }   

    } 

    else if (is_string($array)) {

       $array = stripslashes($array);   

      }   

      return $array;   

    }   

    @set_magic_quotes_runtime(0);   // 判斷 magic_quotes_gpc 狀態(tài)   

    if (@get_magic_quotes_gpc()) {   

       $_GET = stripslashes_array($_GET);   

       $_POST = stripslashes_array($_POST);   

       $_COOKIE = stripslashes_array($_COOKIE);   

     }

去除magic_quotes_gpc的轉(zhuǎn)義之后再使用addslashes函數(shù),代碼如下:


PHP防范SQL注入的代碼 


$keywords = addslashes($keywords); 


$keywords = str_replace("_","\_",$keywords);//轉(zhuǎn)義掉”_” 


$keywords = str_replace("%","\%",$keywords);//轉(zhuǎn)義掉”%” 


后兩個(gè)str_replace替換轉(zhuǎn)義目的是防止黑客轉(zhuǎn)換SQL編碼進(jìn)行攻擊。  



b. 強(qiáng)制字符格式(類(lèi)型)  在很多時(shí)候我們要用到類(lèi)似xxx.php?id=xxx這樣的URL,一般來(lái)說(shuō)$id都是整型變量,為了防范攻擊者把$id篡改成攻擊語(yǔ)句,我們要盡量強(qiáng)制變量,代碼如下:  


PHP防范SQL注入的代碼 $id=intval($_GET[‘id’]); 當(dāng)然,還有其他的變量類(lèi)型,如果有必要的話(huà)盡量強(qiáng)制一下格式。 



 c. SQL語(yǔ)句中包含變量加引號(hào)  這一點(diǎn)兒很簡(jiǎn)單,但也容易養(yǎng)成習(xí)慣,先來(lái)看看這兩條SQL語(yǔ)句:


SQL代碼 SELECT * FROM article WHERE articleid='$id' SELECT * FROM article WHERE articleid=$id 兩種寫(xiě)法在各種程序中都很普遍,但安全性是不同的,第一句由于把變量$id放在一對(duì)單引號(hào)中,這樣使得我們所提交的變量都變成了字符串,即使包含了正確的SQL語(yǔ)句,也不會(huì)正常執(zhí)行,而第二句不同,由于沒(méi)有把變量放進(jìn)單引號(hào)中,那我們所提交的一切,只要包含空格,那空格后的變量都會(huì)作為SQL語(yǔ)句執(zhí)行,因此,我們要養(yǎng)成給SQL語(yǔ)句中變量加引號(hào)的習(xí)慣。



d.URL偽靜態(tài)化URL偽靜態(tài)化也就是URL重寫(xiě)技術(shù),像Discuz!一樣,將所有的URL都rewrite成類(lèi)似xxx-xxx-x.html格式,既有利于SEO,又達(dá)到了一定的安全性,也不失為一個(gè)好辦法。但要想實(shí)現(xiàn)PHP防范SQL注入,前提是你得有一定的“正則”基礎(chǔ)。


贊 (

發(fā)表評(píng)論

成都市| 虎林市| 连云港市| 富蕴县| 上栗县| 泗阳县| 资兴市| 基隆市| 广安市| 潍坊市| 长阳| 光山县| 陆良县| 库伦旗| 奉节县| 海伦市| 阿克陶县| 阿荣旗| 涞源县| 鞍山市| 古田县| 区。| 藁城市| 海南省| 曲水县| 类乌齐县| 多伦县| 吴江市| 左权县| 微博| 福泉市| 阿尔山市| 高尔夫| 松潘县| 湘西| 金阳县| 分宜县| 萝北县| 石门县| 林周县| 澎湖县|