输入过滤,对数字类型转码
i($key)
读取int $_REQUEST[$key]
f($key)
读取float $_REQUEST[$key]
SQL注入输入过滤,SQL构造过滤
/**
* 前后是否加引号
*
* @param mixed $val
* @return mixed $val
*
*/
function untrim($val)
{
if (is_array($val))
{
$val = array_map('untrim', $val);
}
elseif (is_null($val))
{
$val = 'NULL';
}
else
{
$val = '"' . mres($val) . '"';
}
return $val;
}
function mres($str)
{
$str = addslashes($str);
return $str;
}
XSS攻击过滤
数据库字段,设置fieldType类型数据格式:JSON|DOT|html|source => JSON数据格式|逗号分隔格式|html格式不编码|html格式不过滤 (dt=>JSON, dt=>DOT, dt=>HTML, dt=>SOURCE)
默认数据经过 htmlspecialchars 处理
private function stringifyValue(&$key, &$value)
{
if (isset($this->fieldType[$key]))
{
if ('JSON' == strtoupper($this->fieldType[$key]))
{
if (is_array($value))
{
$value = encode_json($value, false);
}
}
else if ('DOT' == strtoupper($this->fieldType[$key]))
{
require_once LIB_PATH . '/HTMLPurifier.auto.php';
$purifier = new HTMLPurifier();
if (is_array($value))
{
foreach ($value as $tid=>$tv)
{
$value[$tid] = $purifier->purify($tv);
}
$value = implode(',', $value);
}
else
{
$value = $purifier->purify($value);
}
}
else if ('HTML' == strtoupper($this->fieldType[$key]))
{
require_once LIB_PATH . '/HTMLPurifier.auto.php';
$purifier = new HTMLPurifier();
$value = $purifier->purify($value);
}
else
{
if ('SOURCE' == strtoupper($this->fieldType[$key]))
{
}
else
{
$value = htmlspecialchars($value);
}
}
}
else
{
$value = htmlspecialchars($value);
}
return $value;
}
文档更新时间: 2022-09-29 18:24 作者:随商信息技术(上海)有限公司