php - 在 PHP 中使用 "(int)"输入安全性?

标签 php security int

(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/

相关文章:

objective-c - Objective-C 中 int 数组实例变量中的奇怪值

c++ - 从 long long 中减去 int

C++ int[] 到字符串

php - 如何在 PHP 中使用并发访问 mysql 表

php - 如何设置元表以便高效地插入大量数据?

java - 为什么我应该更新 java jdk 1.6 Web 应用程序,不更新会有什么风险?

php - 如何防止 PHP 中的 SQL 注入(inject)?

windows - 如何检查用户是域用户还是本地用户?

php - 如何使用 PHP 从另一个网站获取数据并将其存储在 MySQL 数据库中?

java - 每天哪里可以获得 1440 个免费的 cron 作业?