0
在這種情況下使用htmlspecialchars矯枉過正?我已經檢查過輸入是否只由數字組成,但除了數字之外,還有什麼方法可以潛入代碼中?這裏是否需要htmlspecialchars?
if (ctype_digit($input)){
$sanitized=htmlspecialchars($input);
}
在這種情況下使用htmlspecialchars矯枉過正?我已經檢查過輸入是否只由數字組成,但除了數字之外,還有什麼方法可以潛入代碼中?這裏是否需要htmlspecialchars?
if (ctype_digit($input)){
$sanitized=htmlspecialchars($input);
}
這是沒有必要在這裏使用,因爲它會驗證該字符串的每一個字符是0到9之間的整數,所以沒有對非數字字符以獲得一種方式。
但是,您不一定要檢查是否有數字,因此您應該使用is_numeric($num)
,而在這種情況下,您不必使用htmlspecialchars()
,如果要保持一致性,則應該使用該數字在所有輸入上
它足夠安全。但請注意,它基本上是查找任何不是0-9的,所以'10'將會通過,但是'1.3'和'1e30'都會失敗。它看起來純粹用於數字,並且不會傳遞許多有效數字,但包含非數字的東西。 –
不,你不應該在這裏使用 – 2014-01-06 19:39:46
乾杯,我只需要它純粹的數字,所以它聽起來應該沒問題。 – user3166656