您的位置:首页 > 产品设计 > UI/UE

一次$_REQUEST的count参数异常BUG排查

2016-07-13 23:56 513 查看
由于360的PHP开发使用的是QFrame框架,然后对参数进行安全过滤时候调用了

$count= $this->getParam('count');方法,而该方法调用了QFrame的QFrameHttp类。

说白了,我们除了$_GET $_POST外,$_REQUEST默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组。以后尽量少使用$_REQUEST

/**

* 带参数过滤功能的getParam,如果参数是数组,则递归过滤

*

* @param string $key 参数名

* @param multitype $default 默认值

* @param boolean $filter 是否过滤

* @access public

* @return mixed 参数变量值

*/

public function getParam($key = null, $default = null, $filter = true)

{

$value = parent::getParam($key, $default);

if ($filter) {

$value = $this->filterParam($value);

}

return $value;

}

/**

* 过滤参数中的字符串,如果参数是数组,则递归过滤

*

* @param mixed $value 输入参数

* @access public

* @return mixed 过滤后的参数

*/

public function filterParam($value)

{

if (is_string($value)) {

$value = htmlspecialchars($value, ENT_QUOTES);

} elseif (is_array($value)) {

$items = array();

foreach ($value as $index => $item) {

$items[$index] = $this->filterParam($item);

}

$value = $items;

}

return $value;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: