日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php7 魔术引号,PHP魔术引号所带来的安全问题分析

發(fā)布時間:2025/3/20 php 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php7 魔术引号,PHP魔术引号所带来的安全问题分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

// 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 \

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

...

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這樣的構造形式可以很容易的突破GPC或類似的安全處理,形成SQL注射漏洞!對此應給與足夠的重視!

總結

以上是生活随笔為你收集整理的php7 魔术引号,PHP魔术引号所带来的安全问题分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。