`
gzycnet
  • 浏览: 32081 次
  • 性别: 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 过滤器:
用于允许或禁止字符串中指定的字符
无数据格式规则
始终返回字符串
选项和标志
选项和标志用于向指定的过滤器添加额外的过滤选项。

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

相关推荐

    php + redis布隆过滤器.zip

    在PHP和Redis结合应用中,布隆过滤器常被用来解决缓存穿透问题,尤其在高并发场景下,可以有效减轻数据库的压力。 在描述中提到,当项目面临大并发访问,特别是ID为有序整数类型时,布隆过滤器可以帮助避免缓存穿透...

    php 过滤器实现代码

    在了解PHP过滤器的实现代码之前,首先需要明确数据过滤和验证的重要性。随着网络环境的发展,用户与网站的交互变得更加频繁,用户不仅是信息的接收者,也是内容的创造者。因此,如何有效地验证用户提交的数据,确保...

    拦截过滤器模式

    ##### 步骤7: 使用客户端演示拦截过滤器设计模式 ```java public class InterceptingFilterDemo { public static void main(String[] args) { Target target = new Target(); FilterManager manager = new ...

    PHP Filter过滤器全面解析

    为什么使用PHP Filter过滤器? 在Web应用程序中,数据通常来自各种不可信源,例如用户输入、cookies、服务器变量或外部API。这些数据可能包含错误或恶意内容,因此,对输入进行验证和过滤至关重要,以防止诸如SQL...

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

    在两种控制器执行顺序中,如果使用了自定义过滤器类并与其动作绑定了关系,那么在动作执行时,会按照声明顺序执行过滤器类的preFilter和postFilter方法。如果preFilter返回false,则动作不会执行,postFilter也不会...

    zendframework2过滤器封装

    在PHP开发领域,Zend ...通过合理使用内置过滤器,创建自定义过滤器,以及与其他组件(如表单)集成,我们可以确保应用程序的数据质量和安全性。在实际开发中,应根据项目需求选择合适的过滤器策略,以达到最佳效果。

    filterus-masterPHP过滤库.zip

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

    基于PHP的DFA算法敏感词过滤器

    为了实际应用这个DFA过滤器,开发者需要理解DFA的工作原理,掌握PHP编程基础,以及Laravel框架的常用组件。同时,为了提高性能,还可以考虑使用缓存技术存储预处理的DFA状态,避免每次请求都进行计算。 总之,基于...

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

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

    敏感词过滤器(富含3000词汇)

    在实际应用中,敏感词过滤器常用于社交媒体平台、论坛、博客评论等,以防止恶意言论、广告、违法信息的传播。但需要注意的是,过度或不恰当的敏感词过滤可能导致言论自由的问题,因此在设计和使用时,需要谨慎平衡...

    YII Framework的filter过滤器用法分析

    通过使用加减号,开发者可以灵活地控制过滤器应用于特定动作或排除特定动作。 示例代码: ```php public function filters() { return array( 'postOnly+edit,create', // postOnly过滤器应用于edit和create动作 ...

    Zend Framework过滤器Zend_Filter用法详解

    使用方法是在PHP脚本中首先引入需要的过滤器类文件,然后创建过滤器类的实例,并对其应用filter()方法。具体步骤如下: 1. 引入Zend_Filter_StringToLower类所在的文件: ```php require_once 'Zend/Filter/...

    PHP 过滤器,用于对输入和输出数据进行验证和过滤.md

    为了使用PHP过滤器,你需要了解几个关键的函数: - **`filter_var()`**:用于对单个变量进行过滤或验证。 - **`filter_input()`**:用于获取和过滤来自外部资源的输入数据,如 HTTP GET 或 POST 数据。 - **`filter...

    PHP + Redis 实现布隆过滤器,防止缓存被击穿.zip

    本篇将深入探讨如何使用PHP和Redis来实现布隆过滤器,防止缓存被击穿。 首先,理解布隆过滤器的工作原理至关重要。布隆过滤器是一种概率型数据结构,用于判断一个元素是否可能存在于一个集合中。它通过多个哈希函数...

    php过滤请求中数据方法

    这里,`INPUT_POST`表示获取POST请求的数据,'username'是变量名,同样使用了`FILTER_SANITIZE_STRING`过滤器。 除了预定义的过滤器,还可以自定义过滤规则。例如,如果你需要验证一个整数,可以这样设置: ```php...

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

    在PHP和Redis中实现布隆过滤器,可以利用PHP的扩展库,如BloomFilter库,或者直接在Redis中使用BF.ADD、BF.MEMBERS和BF.EXISTS等命令操作布隆过滤器。Redis的布隆过滤器模块提供了方便的操作接口,能够在分布式环境...

    118、API资源过滤器1

    在本节中,我们将详细介绍API过滤器的基础概念及其在Symfony中的应用方式。 ##### 2.1 过滤器的概念 API过滤器是一种强大的工具,用于根据特定条件筛选API返回的数据。例如,当用户想要获取与某个关键词相关的文章...

Global site tag (gtag.js) - Google Analytics