返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php中如何使用filter_var实现参数验证
  • 496
分享到

php中如何使用filter_var实现参数验证

2024-04-02 19:04:59 496人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关PHP中如何使用filter_var实现参数验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先看看代码:<?php class Uti

这篇文章给大家分享的是有关PHP中如何使用filter_var实现参数验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

先看看代码:

<?php
class Utils {
    
public static function filter_param($paramArr, $filterArr){
        $res = filter_var_array($paramArr, $filterArr);     //参数不合法-flase, 没传参数-null
        foreach($res as $key=>$val){
            //如果有验证失败的,抛出异常。
            if(false === $val){
                throw new Exception( "Utils::filter_param: failed, key=$key ");
            }
            //再判断未传的参数。
            if( is_null($val)){
                //1.如果是必填项
                if($filterArr[$key]['required'] ){
                    if(isset($filterArr[$key]['options']['default'])){
                        //1.1如果有default值,则设置为default值。
                        $res[$key] = $filterArr[$key]['options']['default'];
                    }else{
                        //1.2如果没有default值,抛出异常。
                        throw new Exception( "Utils::filter_param: Do not have required param, key=$key" );
                    }
                }else{
                    //$res[$key]='';      //这里是默认把null值改为空值。是否有必要?
                }
            }
        }
        return $res;
}
};




        //每个model里,都写个checkParam函数,用来配置验证的规则。
    function checkParam($arrInput){
        //1.先检查catId
        $filter = array(
                //数字类型的,必填。只允许 0-1。
            "catId" => array(
                "required"=>1,
                "filter"=>FILTER_VALIDATE_INT,
                "options"=>array(
                    "min_range" =>0,
                    "max_range" =>1,
                )
            ),
                //字符串类型的,必填。长度大于1。
            "title" => array(
                "required"=>1,
                "filter"=>FILTER_VALIDATE_REGEXP,
                "options"=>array(
                    "regexp" =>"/^.+/",
                )
            ),
                //字符串类型的,非必填。但要是填了的话,则格式必须为email。
            "email" => array(
                "filter"=>FILTER_VALIDATE_EMAIL,
            ),
        );
        $_res = Utils::filter_param($arrInput, $filter) ;
    }
    
        //比如这个是输入的参数。可以试着修改这里看看效果。
    $arrInput=array(
        'catId'=>1,
        'title'=>'xx',
        'email'=>'xxxxxx.com',
    );
    try{
        $res=checkParam($arrInput);
        echo "验证通过,继续其它代码...\n";
    }catch(Exception $e){
        echo 'Caught exception: ',  $e->getMessage(), "\n";
    }
?>

上面的代码,可直接运行。

使用方法:

  1. 建议把filter_param放到公共函数库中。

  2. 建议在每个model里都有个checkParam函数,专门配置验证规则。

感谢各位的阅读!关于“php中如何使用filter_var实现参数验证”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: php中如何使用filter_var实现参数验证

本文链接: https://lsjlt.com/news/83730.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php中如何使用filter_var实现参数验证
    这篇文章给大家分享的是有关php中如何使用filter_var实现参数验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先看看代码:<php class Util...
    99+
    2024-04-02
  • 使用PHP的filter_var()函数验证用户输入的数据
    在现代的网站开发中,前端验证已经成为了标配,但是这并不能完全保证数据的安全性,因为用户提交的数据可能会被恶意攻击者篡改或者绕过前端验证。为了增强网站的安全性,我们需要在后台服务器端进行数据验证,PHP提供了filter_var()函数来帮助...
    99+
    2023-11-04
    PHP filter_var() 验证数据
  • js如何实现方法参数验证
    这篇文章将为大家详细讲解有关js如何实现方法参数验证,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法参数验证ES6 中可以为函数的参数设置默认值,有了这个,我们可以实现一个验证方法参数不能为空的巧妙技巧...
    99+
    2023-06-27
  • JavaScript如何实现函数参数验证器
    这篇文章将为大家详细讲解有关JavaScript如何实现函数参数验证器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。函数参数验证器JavaScript 允许你对函数参数设...
    99+
    2024-04-02
  • 如何使用PHP和Vue实现数据验证功能
    概述:在开发Web应用程序时,数据验证是一个非常重要的环节,它可以保护我们的应用程序免受无效或恶意输入的影响。本文将介绍如何使用PHP和Vue框架来实现强大的数据验证功能。我们将使用PHP后端来接收和处理前端发送的数据,并使用Vue的表单验...
    99+
    2023-10-21
    VUE PHP 数据验证功能
  • 如何在PHP中实现验证码
    随着互联网的不断发展,越来越多的网站需要使用验证码来保证安全性。验证码是一种借助人类能力而无法被计算机破解的认证技术,广泛应用于网站注册、登录、找回密码等功能中。下面将介绍如何使用PHP实现验证码功能。一、生成验证码图片验证码图片的生成是验...
    99+
    2023-05-20
    验证码 PHP 实现
  • 如何使用Go语言实现路由的请求参数验证
    如何使用Go语言实现路由的请求参数验证在实际的开发中,我们经常需要对接收到的请求参数进行验证,以确保数据的有效性和安全性。使用Go语言编写服务端程序时,通过路由来处理请求是常见的做法。本文将介绍如何使用Go语言实现路由的请求参数验证,并附上...
    99+
    2023-12-17
    Go语言 路由 参数验证
  • PHP如何实现HTTP验证
    目录HTTP BasicHTTP Digest总结在日常开发中,我们进行用户登录的时候,大部分情况下都会使用 session 来保存用户登录信息,并以此为依据判断用户是否已登录。但其...
    99+
    2024-04-02
  • 如何使用php+js实现极验,拖动滑块验证码验证表单
    这篇文章给大家分享的是有关如何使用php+js实现极验,拖动滑块验证码验证表单的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   代码实现   html文件   <!...
    99+
    2024-04-02
  • 如何使用Python实现极验验证码识别验证码
    这篇“如何使用Python实现极验验证码识别验证码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用Python实现极验...
    99+
    2023-07-05
  • Spring Boot 中怎么利用JSR303 实现参数验证
    今天就跟大家聊聊有关Spring Boot 中怎么利用JSR303 实现参数验证,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Bean Validation 规范内嵌的约束注解实例基...
    99+
    2023-06-05
  • php如何实现短信验证
    这篇文章主要介绍了php如何实现短信验证的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何实现短信验证文章都会有所收获,下面我们一起来看看吧。php实现短信验证的方法:1、注册账号并下载接口;2、配置参数...
    99+
    2023-07-04
  • php如何实现用户输入验证
    这篇文章主要介绍php如何实现用户输入验证,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!对于用户输入一串字符串$string,要求$string中只能包含大于0的数字和英文逗号,请用...
    99+
    2024-04-02
  • PHP中如何实现字母数字混合验证码
    这期内容当中小编将会给大家带来有关PHP中如何实现字母数字混合验证码,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。验证码调用地址:Application\Home\Controller\CodeContr...
    99+
    2023-06-04
  • 怎么使用php实现验证码
    这篇文章主要介绍怎么使用php实现验证码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php实现验证码的方法:首先创建绘制验证码类,代码如“class Captcha {...}”;然后绘制图片页面;接着设置表单页面...
    99+
    2023-06-15
  • java如何优雅的实现参数非空校验,快速实现参数非空校验,使用@valid实现参数非空校验
    在java项目接口中,有些必传参数需要进行非空校验,如果参数过多,代码会繁杂且冗余,如何优雅的对参数进行非空校验,下面是实现流程 目录 一、整体思路二、引入依赖1、SpringBoot项...
    99+
    2023-10-21
    java 开发语言
  • 如何使用 PHP 函数进行数据验证?
    php 提供了数据验证函数来检查变量类型 (e.g. is_int()、is_string()),并提供了过滤器函数来转换和验证数据 (e.g. filter_var()、filter_...
    99+
    2024-05-03
    数据验证 php函数
  • 如何使用php函数来优化验证码发送和验证?
    随着互联网的发展,验证码的使用已经成为了保护用户信息安全的重要手段之一。在网站的注册、登录、找回密码等功能中,验证码的发送和验证是必不可少的一环。本文将介绍如何使用PHP函数来优化验证码的发送和验证,以提高用户体验和安全性。生成验证码首先,...
    99+
    2023-10-21
    验证码 优化 PHP函数
  • 如何用php+AJax+json实现登录验证
    本文小编为大家详细介绍“如何用php+AJax+json实现登录验证”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何用php+AJax+json实现登录验证”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。随着W...
    99+
    2023-07-05
  • php如何实现验证码登录
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。验证码在我们的日常生活中非常常见,使用验证码有诸多好处,如:防止恶意的破解密码。如一些黑客为了获取到用户信息,通过不同的手段向服务器发送数据,验证猜测用户信息...
    99+
    2017-10-10
    php 验证码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作