尽量少用$_GET了.

字体大小: 中小 标准 ->行高大小: 标准

看见 PHP Arch 上重新提及 Fliter 模块,的确这个模块能节省我们不少的时间,这里再次整理下。

$_ 和 $_POST 等用户提供的数据如果使用不当,如验证、过滤不全面,就很容易造成安全问题。通常情况下,我们会编写“一坨”正则来验证数据格式是否合法。

现在,有另外种方法让这过程变得更加的可靠和高效。

在 PHP5.2 中,内置了Filter 模块,用于变量的验证和过滤。

过滤变量等操作可以参看我原先提及的,这里我们看下如何直接过滤用户输入的内容。

Fliter 模块对应的 filter_input 函数使用起来非常的简单,例如我们过滤用户输入名为 sample 的 GET 参数为整型,那么可以这样写

filter_input(INPUT_GET, "sample", FILTER_SANITIZE_NUMBER_INT);

filter_input 的参数分别是用户输入类型、对应的输入名称、以及过滤(验证)常量。目前 filter_input 支持下面几种用户输入

INPUT_GET // 对应 $_GET
INPUT_POST // 对应 $_POST
INPUT_COOKIE // 对应 $_COOKIE
INPUT_SERVER // 对应 $_SERVER
INPUT_ENV // 对应 $_ENV
配合内置提供的各种验证标记符,就可以解决类似的用户输入过滤等“体力活”。

最后,还是需要再提下 Filter 的个不大不小的陷阱

filter_var('abc', FILTER_VALIDATE_BOOLEAN); // bool(false)
filter_var('0',   FILTER_VALIDATE_BOOLEAN); // bool(false)

总体而言,这并不影响我们去尝试它 :^)

此文章由 www.phpgz.com 收集整理 ,地址为: http://www.phpgz.com/htmls/1266.html

大屏阅读,大屏评论.