(int)$_POST['post_id']
真的安全吗?它不允许负整数吗?
最佳答案
假设您的意思是安全 SQL 注入(inject) 或XSS 攻击,那么可能是的。转换为 int
只能确保该值是一个整数。在任何情况下,整数通常都不是危险的。但它不保证整数的值 的安全性。它可能是 0
,这在您的代码中可能有也可能没有特殊含义,例如与 false
进行比较时。或者它可能是负面的,同样,这可能会或可能不会对您的代码产生任何副作用。
“安全”不是绝对的。字符串 "1 = 1; DROP TABLE users"
本身也非常安全。这仅取决于您使用它的上下文。同样,0
是绝对安全的,直到您的代码包含 if (!$number) deleteAllUsers();
.
关于php - 在 PHP 中使用 "(int)"输入安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4529202/