繁体   English   中英

具有无效过滤器的filter_input

[英]filter_input with invalid filter

我刚刚在我们的代码库中遇到了以下片段:

$token = filter_input(INPUT_GET, 'token', FILTER_VALIDATE_STRING);
if ($token === false || $token === null) {
    die('invalid token');
}

FILTER_VALIDATE_STRING不是有效的过滤器类型。 这是否意味着由于FILTER_DEFAULT了无法识别的过滤器而将其恢复为FILTER_DEFAULT

您将收到一条警告,指出正在使用未定义的常量,PHP会继续将其转换为字符串文字。 最好的办法是使用文档中定义的常量。

所有GET和POST变量都是字符串,并且您已经注意到FILTER_VALIDATE_STRING不是定义的常量。 如果启用错误报告,您将看到:

注意:使用未定义的常量FILTER_VALIDATE_STRING-假定为'FILTER_VALIDATE_STRING'

警告:filter_input()期望参数3长,并给出字符串

因此filter_input()将返回NULL ,就像未传递必需参数的任何其他函数一样。

假设撰写此内容的人也未定义FILTER_VALIDATE_STRING

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM