栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

清理和验证表单php

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

清理和验证表单php

您应该使用PHP正则表达式来严格验证输入数据。

假设您要验证以下输入字段,

  • 用户名
  • 密码
  • 名字
  • 电子邮件

那么你会做这样的事情,

if(isset($_POST['submit']) && !empty($_POST['submit'])){    // use a boolean variable to keep track of errors    $error = false;    // Username validation    $username = trim($_POST['username']);    $username_pattern = "/^[a-zA-Z0-9]{3,15}$/"; // username should contain only letters and numbers, and length should be between 3 and 15 characters    if(preg_match($username_pattern, $username)){        // success    }else{        // error        $error = true;    }    // Password validation    $password = $_POST['password'];    $/confirm/i_password = $_POST['/confirm/i_password'];    if(strlen($password) >= 6 && $password===$/confirm/i_password){ // length of the password should be greater than or equal to 6       // success    }else{       // error       $error = true;    }    // First name validation    $first_name = trim($_POST['first_name']);    $first_name_pattern = "/^[a-zA-Z]{2,15}$/";    if(preg_match($first_name_pattern, $first_name)){ // first name should contain only letters and length should be between 2 and 15 characters        // success    }else{        // error        $error = true;    }    // Last name validation    $last_name = trim($_POST['last_name']);    $last_name_pattern = "/^[a-zA-Z]{2,15}$/";    if(preg_match($last_name_pattern, $last_name)){ // last name should contain only letters and length should be between 2 and 15 characters        // success    }else{        // error        $error = true;    }    // Email validation    $email = trim()    $email_pattern = "/^([a-z0-9._+-]{3,30})@([a-z0-9-]{2,30})((.([a-z]{2,20})){1,3})$/";    if(preg_match($email_pattern, $email)){ // validate email addresses        // success    }else{        // error        $error = true;    }    if(!$error){        // all fields are validated. Now do your database operations.    }else{        // display error message    }}

并使用PDO准备阻止您的数据库进行任何形式的SQL注入。

PDO :: prepare

为将使用不同参数值多次发出的语句调用PDO :: prepare()和PDOStatement ::
execute()可通过允许驱动程序协商查询计划的客户端和/或服务器端缓存来优化应用程序的性能,并元信息,并 消除了手动引用参数的需要 ,从而
有助于防止SQL注入攻击。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405288.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号