在php中有很多的过滤,可以对输入的字符串进行过滤,同时也可以对邮件地址进行过滤,接下来我要讲的是php中的3种高级过滤,在开发中很实用。
第一种:过滤数值范围
在php经常要接收各种数据,其中数值是非常普遍的一种,我们接收到的数值并不是多大都行的,无用的数据对于我们的数据库来说就是浪费资源,所以在接收数据的时候,有必要对数字的范围进行过滤。
对数字的范围进行过滤这里需要用到的是FILTER_VALIDATE_INT这个关键字以及它的附加条件,步骤如下:
1、新建一个变量。
2、通过filter_var函数对这个变量进行过滤,过滤的根据是FILTER_VALIDATE_INT,附加条件是数字的最大值和最小值。例如:filter_var($shuzi,FILTER_VALIDATE_INT,array("options"=>array("min_range"=>$min,"max_range"=>$max))。
3、最后就是根据过滤的结果给出相应的提示信息。
第二种:对ipv6地址进行过滤。
如今ipv4地址已经用完了,逐渐开始使用ipv6地址,在接收这类IP地址的时候,我们很可能就会遇到ipv6这样的地址,针对这样的地址,我们借用FILTER_VALIDATE_IP,FILTER_FLAG_IPV6这两个条件来进行过滤。实例代码如下:
$ipv6="2004:0db9:89a3";
$panduan=filter_var($ipv6,FILTER_VALIDATE_IP,FILTER_FLAG_IPV6);
if($panduan){
echo "这是合法的ipv6地址";
}
else{
echo "这个ipv6地址不合法";
}
第三种:对查询语句的过滤。
在接收数据的时候,我们不能防止用户输入什么内容,有些用户就故意在输入信息的时候,搞sql注入,在网址上添加查询语句,这样的语句我们是要拒绝接收的,所以,在接收网址的时候,对它进行过滤是非常有必要的,判断地址中是否包含了查询语句。
判断是否包含查询语句,我们可以通过FILTER_VALIDATE_URL和FILTER_FLAG_QUERY_REQUIRED这两个关键字来实现,具体代码如下:
$chaxun="http://www.nihao select * from b hello";
$panduan=filter_var($chaxun,FILTER_VALIDATE_URL,FILTER_FLAG_QUERY_REQUIRED);
if($panduan){
echo "url地址是不合法的";
}
else{
echo "url地址是合法的";
}
以上就是关于3种php高级过滤,有兴趣的朋友可以了解一下,同时欢迎提出宝贵的意见和建议。
举报/反馈