欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP魔術(shù)引號所帶來的安全問題分析

 更新時間:2014年07月15日 08:50:02   投稿:shichen2014  
這篇文章主要介紹了PHP魔術(shù)引號所帶來的安全問題分析,對于安全編碼來說非常重要!需要的朋友可以參考下

PHP通過提取魔術(shù)引號產(chǎn)生的“\”字符會帶來一定的安全問題,例如下面這段代碼片段:

// foo.php?xigr='ryat
function daddslashes($string, $force = 0) {
!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
if(!MAGIC_QUOTES_GPC || $force) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = daddslashes($val, $force);
}
} else {
$string = addslashes($string);
}
}
return $string;
}
...
foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
foreach($$_request as $_key => $_value) {
$_key{0} != '_' && $$_key = daddslashes($_value);
}
}
echo $xigr['hi'];
// echo \

上面的代碼原本期望得到一個經(jīng)過daddslashes()安全處理后的數(shù)組變量$xigr['hi'],但是沒有對變量$xigr做嚴(yán)格的類型規(guī)定,當(dāng)我們提交一個字符串變量$xigr='ryat,經(jīng)過上面的處理變?yōu)閈'ryat,到最后$xigr['hi']就會輸出\,如果這個變量引入到SQL語句,那么就會引起嚴(yán)重的安全問題了,對此再來看下面的代碼片段:

...
if($xigr) {
foreach($xigr as $k => $v) {
$uids[] = $v['uid'];
}
$query = $db->query("SELECT uid FROM users WHERE uid IN ('".implode("','", $uids)."')");

利用上面提到的思路,通過提交foo.php?xigr[]='&xigr[][uid]=evilcode這樣的構(gòu)造形式可以很容易的突破GPC或類似的安全處理,形成SQL注射漏洞!對此應(yīng)給與足夠的重視!

相關(guān)文章

  • PHP重定向與偽靜態(tài)區(qū)別

    PHP重定向與偽靜態(tài)區(qū)別

    偽靜態(tài)是SEO重要的方法,通過重定向來實(shí)現(xiàn),并且可以通過重定向來隱藏網(wǎng)站的技術(shù),過濾異常訪問。本課分為兩部分,前半部分詳細(xì)介紹Apache重定向的基礎(chǔ)知識,后半部分通過多個實(shí)際案例再次加深對重定向的理解,并且會演示各種重定向設(shè)置后的實(shí)際效果。
    2017-02-02
  • 關(guān)于PHP自動判斷字符集并轉(zhuǎn)碼的詳解

    關(guān)于PHP自動判斷字符集并轉(zhuǎn)碼的詳解

    本篇文章是對PHP自動判斷字符集并轉(zhuǎn)碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP下escape解碼函數(shù)的實(shí)現(xiàn)方法

    PHP下escape解碼函數(shù)的實(shí)現(xiàn)方法

    很多時候需要用到j(luò)s的escape函數(shù)來轉(zhuǎn)換中文字符,可是用js轉(zhuǎn)換后的字符怎么用php來轉(zhuǎn)換回來呢,下面我就找到了兩個很實(shí)用的函數(shù)。
    2010-08-08
  • PHP中使用foreach()遍歷二維數(shù)組的簡單實(shí)例

    PHP中使用foreach()遍歷二維數(shù)組的簡單實(shí)例

    下面小編就為大家?guī)硪黄狿HP中使用foreach()遍歷二維數(shù)組的簡單實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • PHP使用PDO抽象層獲取查詢結(jié)果的方法示例

    PHP使用PDO抽象層獲取查詢結(jié)果的方法示例

    這篇文章主要介紹了PHP使用PDO抽象層獲取查詢結(jié)果的方法,結(jié)合實(shí)例形式分析了php使用PDO抽象層獲取查詢結(jié)果的三種常用方式及相關(guān)函數(shù)使用技巧,需要的朋友可以參考下
    2018-05-05
  • PHP序列化操作方法分析

    PHP序列化操作方法分析

    這篇文章主要介紹了PHP序列化操作方法,結(jié)合實(shí)例形式分析了php序列化的原理、實(shí)現(xiàn)方法、相關(guān)函數(shù)與操作技巧,需要的朋友可以參考下
    2016-09-09
  • PHP延遲靜態(tài)綁定的深入講解

    PHP延遲靜態(tài)綁定的深入講解

    這篇文章主要給大家介紹了關(guān)于PHP延遲靜態(tài)綁定的相關(guān)資料,這是最近工作中遇到的一個功能,通過查找相關(guān)的資料整理了這篇文章,分享出來供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • PHP 設(shè)置MySQL連接字符集的方法

    PHP 設(shè)置MySQL連接字符集的方法

    我之前總是使用 mysql_query("SET NAMES 'utf8'"); 來設(shè)置 MySQL 的默認(rèn)連接字符集;但是今天發(fā)現(xiàn)了一個 PHP 推薦的代替這個方法的設(shè)置 MySQL 連接字符集的函數(shù)
    2011-01-01
  • PHP中實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼應(yīng)用源碼實(shí)例解析

    PHP中實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼應(yīng)用源碼實(shí)例解析

    PHP里如何實(shí)現(xiàn)漢字轉(zhuǎn)區(qū)位碼這個問題一直困擾這大多程序員,那么下面這個源碼實(shí)例相信能給大家?guī)砗艽蟮膸椭?/div> 2010-06-06
  • PHP實(shí)現(xiàn)登錄搜狐廣告獲取廣告聯(lián)盟數(shù)據(jù)的方法【附demo源碼】

    PHP實(shí)現(xiàn)登錄搜狐廣告獲取廣告聯(lián)盟數(shù)據(jù)的方法【附demo源碼】

    這篇文章主要介紹了PHP實(shí)現(xiàn)登錄搜狐廣告獲取廣告聯(lián)盟數(shù)據(jù)的方法,涉及php基于curl的遠(yuǎn)程數(shù)據(jù)操作相關(guān)技巧,需要的朋友可以參考下
    2016-10-10

最新評論