Php 这里需要htmlspecialchars吗?

Php 这里需要htmlspecialchars吗?,php,htmlspecialchars,Php,Htmlspecialchars,在这种情况下,使用htmlspecialchars是否过份了?我已经检查过输入是否只由数字组成,但是除了数字之外,还有什么方法可以潜入代码中吗 if (ctype_digit($input)){ $sanitized=htmlspecialchars($input); } 这里不需要使用,因为它将验证该字符串中的每个字符都是介于0和9之间的整数,因此非数字无法进入 但是,您不一定要检查某个东西是否是数字,因此,您应该使用is_numeric($num),而在这种情况下,您不必使用htm

在这种情况下,使用htmlspecialchars是否过份了?我已经检查过输入是否只由数字组成,但是除了数字之外,还有什么方法可以潜入代码中吗

if (ctype_digit($input)){
    $sanitized=htmlspecialchars($input);
}

这里不需要使用,因为它将验证该字符串中的每个字符都是介于0和9之间的整数,因此非数字无法进入


但是,您不一定要检查某个东西是否是数字,因此,您应该使用
is_numeric($num)
,而在这种情况下,您不必使用
htmlspecialchars()
,如果要保持一致性,您应该在所有输入上使用它,这是足够安全的。但请注意,它基本上是在寻找任何不是0-9的东西,因此
10
将通过,但
1.3
1e30
都将失败。它只寻找数字,不会传递许多有效数字,但包含非数字的内容。不,你不应该在这里使用它。干杯,我只需要它纯粹用于数字,所以听起来应该没问题。每当数据更改上下文时,你都会进行清理,例如,如果你将字符串传递给正则表达式引擎、mysql或HTML输出(浏览器是不同的运行时上下文)等,并且您使用特定于每种情况的适当转义函数。如果您在该代码块之后不久没有再次打印该值,那么您可能只会在任何逻辑中引入奇怪的行为。。。