|
|
1
10
我不是专家,但我有理由相信这是安全的。 但是为什么要冒险呢?使用参数化SQL,您不必担心它。 此外,参数化SQL还有其他优点,不仅仅是注入保护。 |
|
|
2
2
如果在将字符串强制转换为整数“是”之前字符串是一个有效数字,那么它是安全的。但在将其强制转换为int之前,必须确保它是有效的整数。 我不知道您使用的是什么服务器端语言,但在PHP中,您可以使用的是\numeric()函数。例如:
|
|
|
3
1
它在防止SQL注入方面是安全的,但在您得到异常时并不是一个好主意,如果可能的话,您总是希望避免这种情况,因为异常是昂贵的。您应该正确地清理输入。当然,用户仍然可以将该值更改为Int32值内的任何范围。 |
|
|
4
1
可能 但值得测试。 关于Richard的答案,我有时会遇到IsNumeric()比实际的数字转换(实际上取决于本地化设置)更自由一些,因为它将接受有效的数字。诸如“-0”、“3e-5”、“5.000.000”之类的东西有时会满足于数字,但不能正确铸造。所以我通常会做一个完整的尝试,而不是围绕实际的强制转换语句。 |
|
|
cagta · 如何使用此python脚本避免硬编码sql表达式? 7 年前 |
|
|
John · MySQL php查询缺陷 7 年前 |
|
|
Arunabh · 在不使用预处理语句的情况下摆脱SQL注入 8 年前 |