【发布时间】:2013-05-02 03:21:09
【问题描述】:
我确定以前有人问过这个问题,但我找不到类似的帖子。
验证来自 $_GET 变量的 ID 字段的必要性有多大? 我正在使用 is_numeric() 来确保我至少得到一个数字,但我只是在输入不必要的代码吗?
例如。
www.test.com/user.php?user_id=5
if (isset($_GET['user_id']) && is_numeric($_GET['user_id'])) {
*PDO query for user information*
}
is_numeric() 有必要吗?
是否有可能通过更改地址中的 user_id 进行攻击?
【问题讨论】:
-
你真的尝试过吗?
is_int($_GET['user_id'])将永远是false,因为它是一个字符串。 -
其实很抱歉我使用的是 is_numeric()
-
这不仅仅是为了防止 SQL 注入,我已经在使用 PDO 进行查询。我想知道是否还有其他安全问题需要我检查该 ID 是否真的是一个 ID