在PHP中输入过滤

时间:2011-05-22 09:22:51

标签: php security filtering

我正在以这种方式过滤用户输入

$id= intval($_REQUEST['id']);

我只接受$id中的整数。

还有什么我可以使用它来使它更安全吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

您可以使用filter_var

<?php
$var = filter_var('0755', FILTER_VALIDATE_INT);
?>

漂亮的是你可以做更复杂的验证(最小长度,默认值等),查看php.net的filter_var页面。

答案 1 :(得分:1)

如果您使用的是最新的PHP版本,则可以使用filter extension验证您的输入。

答案 2 :(得分:0)

只是重复你的问题:

  

我正在以这种方式过滤用户输入   $ id = intval($ _ REQUEST ['id']);   我只接受$ id中的整数。   还有什么我可以使用它来使它更安全吗?

我认为您可以使用ctype_digit($ id)执行过滤器True:False;

您只接受$ id中的整数,什么是整数:整数是可以在没有小数或小数分量的情况下写入的数字。例如,21,4和-2048是整数; 9.75,5½和√2不是整数。整数集是实数的一个子集,由自然数(1,2,3,...),零(0)和自然数的负数(-1,-2,-3)组成。 ,...)。 &GT;采取维基百科的形式