前端发送"null"
,后端收到"null "
。
前端发送"like"
,后端收到"like "
。
用$this->request->param('key', '', 'trim')
不行!
用trim($this->request->param('key'))
即可。
详见\think\Request::filterExp
/**
* 过滤表单中的表达式
* @param string $value
* @return void
*/
public function filterExp(&$value)
{
// 过滤查询特殊字符
if (is_string($value) && preg_match('/^(EXP|NEQ|GT|EGT|LT|ELT|OR|XOR|LIKE|NOTLIKE|NOT LIKE|NOT BETWEEN|NOTBETWEEN|BETWEEN|NOT EXISTS|NOTEXISTS|EXISTS|NOT NULL|NOTNULL|NULL|BETWEEN TIME|NOT BETWEEN TIME|NOTBETWEEN TIME|NOTIN|NOT IN|IN)$/i', $value)) {
$value .= ' ';
}
// TODO 其他安全过滤
}