(int)$_GET['user_input'] 安全吗?



假设在

if (($i = (int)trim($_GET['user_input'])) != 0) {
    // do stuff with $i
}

$i只能是整数?


编辑:

我现在使用:

if (ctype_digit($i = $_GET['user_input'])) {
    // do stuff with $i
}

所以如果你唯一的问题是它是否在任何情况下都是int,那么答案就是:

是的

但是如果转换为 int 失败(例如输入:'a' (,$i只是0

例:

输入/输出:

4       ->  4
-5      -> -5
"14"    -> 15
"a"     ->  0
"!"     ->  0
array() ->  0

旁注:

如果值为数组修整失败,则出现错误

$i = intval($_GET['user_input']);
if ( $i != 0) {
    // do stuff with $i
}

在此处查看文档

如果您检查整数,则

if(is_numeric($_GET['user_input']) && $_GET['user_input'] > 0) {
//your code
}

检查这个

if(stripslashes(trim($_GET['user_input']))) > 0){
//your code Here 
}

相关内容

  • 没有找到相关文章

最新更新