gpt4 book ai didi

PHP 安全 - (int) 与 FILTER_VALIDATE_INT

转载 作者:IT王子 更新时间:2023-10-29 00:11:51 24 4
gpt4 key购买 nike

我最近被告知有 FILTER_VALIDATE_INT 顺便说一下,它很棒。

我的问题是从网站获取整数值,无论它可能来自用户还是从网络应用程序生成,并通过查询字符串传递。

值(整数)可能会在 mysql 查询中显示或使用。

我正在尝试为此构建最佳的安全方法。

考虑到这一点,简单地使用是否安全

$myNum = (int)$_GET['num'];

或者

if (filter_var($_GET['num'], FILTER_VALIDATE_INT)) $myNum = $_GET['num'];

此外,请解释使用(int)FILTER_VALIDATE_INT 的区别

最佳答案

不同之处在于转换为 int 总是会得到一个 int,它可能是也可能不是原始值。例如。 (int)'foobar' 结果为 int 0。这使得它对于大多数 SQL 用途都是安全的,但与原始值无关,您甚至不会知道。

filter_var使用 FILTER_VALIDATE_INT 告诉您该值是否为 int,您可以根据它决定在 SQL 查询中使用它还是显示一个给用户的错误消息。

关于PHP 安全 - (int) 与 FILTER_VALIDATE_INT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4789624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com