`
gzycnet
  • 浏览: 31037 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

PHP 过滤器的应用

阅读更多
PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入。

什么是 PHP 过滤器?
PHP 过滤器用于验证和过滤来自非安全来源的数据。

验证和过滤用户输入或自定义数据是任何 Web 应用程序的重要组成部分。

设计 PHP 的过滤器扩展的目的是使数据过滤更轻松快捷。

为什么使用过滤器?
几乎所有 web 应用程序都依赖外部的输入。这些数据通常来自用户或其他应用程序(比如 web 服务)。通过使用过滤器,您能够确保应有程序获得正确的输入类型。

您应该始终对外部数据进行过滤!

输入过滤是最重要的应用程序安全课题之一。

什么是外部数据?
来自表单的输入数据
Cookies
服务器变量
数据库查询结果
函数和过滤器
如需过滤变量,请使用下面的过滤器函数之一:

filter_var() - 通过一个指定的过滤器来过滤单一的变量
filter_var_array() - 通过相同的或不同的过滤器来过滤多个变量
filter_input - 获取一个输入变量,并对它进行过滤
filter_input_array - 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤
在下面的例子中,我们用 filter_var() 函数验证了一个整数:

<?php
$int = 123;

if(!filter_var($int, FILTER_VALIDATE_INT))
{
echo("Integer is not valid");
}
else
{
echo("Integer is valid");
}
?>上面的代码使用了 "FILTER_VALIDATE_INT" 过滤器来过滤变量。由于这个整数是合法的,因此代码的输出是:"Integer is valid"。

假如我们尝试使用一个非整数的变量,则输出是:"Integer is not valid"。

Validating 和 Sanitizing
有两种过滤器:

Validating 过滤器:
用于验证用户输入
严格的格式规则(比如 URL 或 E-Mail 验证)
返回若成功预期的类型,否则返回 FALSE
Sanitizing 过滤器:
用于允许或禁止字符串中指定的字符
无数据格式规则
始终返回字符串
选项和标志
选项和标志用于向指定的过滤器添加额外的过滤选项。

不同的过滤器有不同的选项和标志。
分享到:
评论

相关推荐

    拦截过滤器模式

    拦截过滤器模式(Intercepting Filter Pattern)用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器,并在把请求传给实际目标应用程序之前应用在请求上。过滤器可以做认证/授权/记录日志,或者跟踪请求,...

    filterus-masterPHP过滤库.zip

    &lt;?php require 'vendor/autoload.php'; use Filterus\Filter; $filter = Filter::map(array('foo' =&gt; 'string,...通过使用过滤器,您能够确保应有程序获得正确的输入类型。您应该始终对外部数据进行过滤!

    HTMLPurifierBundle, 在PHP中,HTML过滤器是一个标准的HTML过滤器.zip

    HTMLPurifierBundle, 在PHP中,HTML过滤器是一个标准的HTML过滤器 ExerciseHTMLPurifierBundle这个包将 HTMLPurifier 集成到 Symfony2.安装 2.1和 above ( 使用 Composer )在 composer.json file: 中需要捆绑包

    PHP Filter过滤器全面解析

    PHP 过滤器用于验证和过滤...通过使用过滤器,您能够确保应有程序获得正确的输入类型。 您应该始终对外部数据进行过滤! 输入过滤是最重要的应用程序安全课题之一。 什么是外部数据? •来自表单的输入数据 •Cook

    zendframework2过滤器封装

    zendframework2过滤器封装 使用说明见 zend framework 2 过滤器的使用

    布隆过滤器(bloom filter)及php和redis实现布隆过滤器的方法

    主要介绍了布隆过滤器(bloom filter)介绍以及php和redis实现布隆过滤器实现方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    PHP的Yii框架中过滤器相关的使用总结

    Yii过滤器简介 过滤器是一段代码,可被配置在控制器动作执行之前或之后执行。例如, 访问控制过滤器将被执行以确保在执行请求的动作之前用户已通过身份验证;性能过滤器可用于测量控制器执行所用的时间。 一个动作...

    PHP利用正则过滤掉js脚本代码

    PHP利用正则过滤掉js脚本代码 一、 开发环境 1、环境搭建:Windows 7+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0。 2、文本编辑器:Sublime 3。...本案例主要在PHP中使用正则表达式来实现过滤掉JavaScript脚本代码的功能。

    PHP内置过滤器FILTER使用实例

    主要介绍了PHP内置过滤器FILTER使用实例,列举了验证功能和纠错功能的代码例子来讲解如何使用FILTER,需要的朋友可以参考下

    htmlpurifier, 在PHP中,编写符合标准的HTML过滤器.zip

    htmlpurifier, 在PHP中,编写符合标准的HTML过滤器 HTML过滤器 HTML过滤器是一种HTML过滤解决方案,它使用一种独特的,和,解析结合,但是它们是一致的。HTML过滤器面向那些需要CSS和完整标记集的不可靠来源的格式...

    PHP过滤器的实现方法第1/2页

    为什么使用过滤器? 几乎所有 web 应用程序都依赖外部的输入。这些数据通常来自用户或其他应用程序(比如 web 服务)。通过使用过滤器,您能够确保应有程序获得正确的输入类型。 您应该始终对外部数据进行过滤! ...

    dms-filter-master基于标注的PHP过滤库.zip

    &lt;?php namespace DMS\Filter; class Filter implements FilterInterface...通过使用过滤器,您能够确保应用程序获得正确的输入类型。您应该始终对外部数据进行过滤!输入过滤是最重要的应用程序安全课题之一。

    用于高级自定义字段 WP 插件的 通用过滤器和功能_PHP_代码_相关文件_下载

    ACF 过滤器和功能 用于高级自定义字段 WP 插件的通用过滤器和功能 有关如何基于其他字段选择创建动态加载字段的示例,例如基于在另一个选择字段中所做的选择动态加载选择字段,请参见我的其他示例。 重要的提示 ...

    blade-filters:在刀片模板中轻松使用过滤器

    在Laravel Blade中轻松使用字符串过滤器。 如果您对程序包的工作方式有任何疑问,建议阅读这篇文章: 。 入门 您可以使用composer来安装软件包,运行composer require conedevelopment/blade-filters命令。 使用...

    基于Double-Array Trie树的垃圾邮件过滤器的 php扩展,它可以检测文本消息中是否存在垃圾邮件_C语言php

    基于Double-Array Trie树的垃圾邮件过滤器的php扩展,它可以检测短信中是否存在垃圾邮件。 过滤关键词扩展,用于检查一段文本中是否出现敏感词,基于Double-Array Trie树实现。 更多详情、使用方法,请下载后阅读...

    adhost:从各种过滤器列表转换的HOSTS文件

    主机文件该存储库只是单个主机文件的storage space ,该文件是从各种信誉良好的过滤器列表转换而来的。 由于通过@thelonelycoder只适用于主机文件,而不是筛选器列表。 您每天对广告,跟踪器,矿机等抱有偏执的用户...

    Laravel Eloquent 模型的 过滤器_PHP_代码_相关文件_下载

    旨在帮助您更轻松地过滤 Eloquent 模型的输入。 像这样简化代码: 更多详情、使用方法,请下载后阅读README.md文件

    php-plugin-api:用于管理操作和过滤器、挂钩函数并因此调用它们的插件 API

    PHP 插件 API关于该项目提供了一个插件 ... 使用过滤器 - 基本示例 // Define a variable.$title = 'Hello';// Add a filter function to the "custom_filter" filter.// This will take the current variable as a par

Global site tag (gtag.js) - Google Analytics