Adi*_*dil 18 php variables input filter
我最近被告知有FILTER_VALIDATE_INT,顺便说一句.
我的问题是从网站获取整数值,无论是来自用户还是从Web应用程序生成,并通过查询字符串传递.
可以在mysql查询中显示或使用值(整数).
我正在尝试为此构建最好的安全方法.
考虑到这一点,简单使用是否安全
$myNum = (int)$_GET['num'];
Run Code Online (Sandbox Code Playgroud)
要么
if (filter_var($_GET['num'], FILTER_VALIDATE_INT)) $myNum = $_GET['num'];
Run Code Online (Sandbox Code Playgroud)
另外,请解释使用(int)和之间的区别FILTER_VALIDATE_INT
dec*_*eze 31
不同之处在于,施法int会始终为您提供int,可能是也可能不是原始值.例如(int)'foobar'结果int 0.这使得它对大多数SQL来说都是安全的,但与原始值无关,你甚至都不知道它.
filter_varwith FILTER_VALIDATE_INT 告诉您该值是否为a int,您可以根据该值决定在SQL查询中使用它或向用户显示错误消息.