欢迎来到天天文库
浏览记录
ID:41394259
大小:115.12 KB
页数:23页
时间:2019-08-24
《Php520中的输入过滤函数Filter》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Php5.2.0中的输入过滤函数Filter程序的安全性已经成为php开发人员首要(或者经常要)考虑的问题。不论是在单独的,开源的或者商业项目屮,它的重要性都越來越高。安全性对于php是一个很重要的部分。但是所有的讨论重点都是用户的输入数据。我们在这里并不讨论诸如XSS,SQL注入这样的话题,如果你对这些感兴趣可以看本文结尾出的相关文章。不要相信外部数据几乎所有的应用程序(、veb,桌面,命令行)都需要接收相应的数据或者动作来完成一定的操作然后再输出结果。这些输入数据可能是用户或者其他的程序(网络客户端,病毒,扫描器等)。基本原则是:过滤所有的外
2、来数据。对于输入的过滤是保证整个程序安全的基础,和采用什么语言或者什么系统毫无关系。Php提供了很多相应的函数来对数据进行转换或者验证,但是和其他语言比起来明显的缺陷是没有一个标准的函数来过滤所有数据。新的函数Filter实现了这个功能。什么是外部输入数据?所有的fonn提交的数据所有的$_GET,$_POST,$_REQUESTCookie($_COOKIES)网络服务齧数据文件服务器信息(比如$_SERVER['SERVER—NAME'])环境变量数据库的查询Filter很好的支持了上述这些输入数据。为什么用Filter?Filter扩展库的
3、A的就是要达到使数据过滤尽量的简单,下面是两个简单例子:检查2个通过_GET方式输入的整数:1〃;6exit();7}8$mode二(int)$_GET['mode'];9}else{10echo"The'mode'argumentismissing.〃;11exit();12}1314if(isset($_GET[
4、‘type'])){15$type=(int)$_GET['type'];16if(!is_numeric($_GET['type'])
5、17(is_numeric($_GET[,type,])&&$type>=3&&$type<=10)){""18echo"The'type'argumentmustbeanintegerbetween3and10.";19exit();20}else{21}$mode$_GET['type,];}else{24echo"The'type'argumentismissing.〈br/>〃;25exit(
6、);2627echo〃0k.〈br/>〃;28?>viewplain
7、print
8、copytoclipboard
9、?";exit();)$mode=(int)$GET「mode'];)else{echo"The'mode'argumentismissing・〈br/>";exit();使用Filter扩展库的filtcr_input函
10、数來过滤:1arrayminngc'=>3,'max_rangc'=>10)));56if(is_null($mode)){7echo"The'mode'argumentismissing.";exit();9}elseif($mode===false){10echo"The'mod
11、e'argument/>〃;11exit();12}else{13echo"modeis:$mode・〈br14}1516if(isnull($type)){17echo"The'type,argument18exit();19}elseif($type二二二false){20echo"The'typc,argument3and10.";21exit();22}else{23echo"typeis:$type.mustbeavalidinteger.〃;mustbeamin
12、tegerbetwecn/>〃;
此文档下载收益归作者所有