- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP 过滤器
PHP 过滤器
PHP 过滤器
PHP 过滤器⽤于验证和过滤来⾃⾮安全来源的数据,⽐如⽤户的输⼊。
什么是 PHP 过滤器?
PHP 过滤器⽤于验证和过滤来⾃⾮安全来源的数据。
测试、验证和过滤⽤户输⼊或⾃定义数据是 何 Web 应⽤程序的重要组成部分。
PHP 的过滤器扩展的设计⽬的是使数据过滤更轻松快捷。
为什么使⽤过滤器?
⼏乎所有的 Web 应⽤程序都依赖外部的输⼊。这些数据通常来⾃⽤户或其他应⽤程
序 (⽐如 web 服务)。通过使⽤过滤器,您能够确保应⽤程序获得正确的输⼊类型。
您应该始终对外部数据进⾏过滤!
输⼊过滤是最重要的应⽤程序安全课题之⼀。
什么是外部数据?
来⾃表单的输⼊数据
Cookies
Web services data
服务器变量
数据库查询结果
函数和过滤器
如需过滤变量,请使⽤下⾯的过滤器函数之⼀:
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。
如果我们尝试使⽤⼀个⾮整数的变量 (⽐如 123abc),则将输出:Integer is not
valid。
如需查看完整的函数和过滤器列表,请访问我们的 PHP Filter 参考⼿册。
Validating 和 Sanitizing
有两种过滤器:
Validating 过滤器:
⽤于验证⽤户输⼊
严格的格式规则 (⽐如 URL 或 E-Mail 验证)
如果成功则返回预期的类型,如果失败则返回 FALSE
Sanitizing 过滤器:
⽤于允许或禁⽌字符串中指定的字符Are used to allow or disallow specified
characters in a string
⽆数据格式规则
始终返回字符串
选项和标志
选项和标志⽤于向指定的过滤器添加额外的过滤选项。
不同的过滤器有不同的选项和标志。
在下⾯的实例中,我们⽤ filter_var() 和 min_range 以及 max_range 选项验证了⼀个
整数:
?php
var=300;
int_options = array(
options=array
(
min_range=0 ,
max_range=256
)
);
if( !filter_var( var , FILTER_VALIDATE_INT , int_options))
{
echo(Integer is not valid);
}
else
{
echo(Integer is valid);
}
?
就像上⾯的代码⼀样,选项必须放⼊⼀个名为 options 的相关数组中。如果使⽤标
志,则不需在数组内。
由于整数是 300 ,它不在指定的范围内,以上代码的输出将是 Integer is not valid。
如需查看完整的函数和过滤器列表,请访问我们的 PHP Filter 参考⼿册。您可以看到
每个过滤器的可⽤选项和标志。
验证 ⼊
让我们试着验证来⾃表单的输⼊。
我们需要做的第⼀件事情是确认是否存在我们正在查找的输⼊数据。
然后我们⽤ filter_input() 函数过滤输⼊的数据。
在下⾯的实例中,输⼊变量 email 被传到 PHP 页⾯:
?php
if( !filter_has_var(INPUT_GET , email))
{
echo(Input
您可能关注的文档
最近下载
- 山东省聊城市东阿县2022-2023学年四年级下学期期中英语试卷.docx VIP
- 基坑工程技术标准DG TJ08-61-2018上海(1).pdf
- 2020-2021学年粤教版三年级科学下册教学计划.docx VIP
- 安永-达芙妮预算管控框架设计v2.6-201209.pptx VIP
- 涉密软件项目实施过程必威体育官网网址管理.pdf
- 内部控制与风险管理-全套PPT课件.pptx
- 附件-1二级医疗机构安全生产标准化评定标准.doc
- 必威体育精装版教科版小学二年级科学下册《全册》教案板书反思教学设计.docx VIP
- 质量保证承诺书.docx VIP
- 2025年公文筐测试题汇总(附答案).pdf VIP
文档评论(0)