加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 了解准备语句的用户数据验证

发布时间:2020-12-13 22:06:39 所属栏目:PHP教程 来源:网络整理
导读:我 read that you do not need to validate or sanitize user’s input,如果你使用准备好的声明. 然而,在以下示例中,这对我没有意义. 用户提供了他的电子邮件地址. 我通常会这样做 验证码 // to validate data if (!filter_var($_POST['email'],FILTER_VALID
我 read that you do not need to validate or sanitize user’s input,如果你使用准备好的声明.

然而,在以下示例中,这对我没有意义.

用户提供了他的电子邮件地址.

我通常会这样做

验证码

// to validate data
 if (!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) {
     header("Location: index.php");
     die("Wrong email-address");
 }

声明说,如果我们使用预准备语句,我们不需要验证数据,如下所示

没有验证码的代码

// to get email-address nad passhash from the db
 $result = pg_prepare($dbconn,"query2",'SELECT email,passhash_md5
     FROM users WHERE email = $1
     AND passhash_md5 = $2;');
 $result = pg_execute($dbconn,array($_POST['email'],$_POST['password']));
 if(!$result) {
     echo "An error occurred";
     exit;
 }

我不确定在最后一个代码中是否需要验证代码,因为我们使用pg_prepare和pg_execute.

如果使用预准备语句,是否需要考虑验证和清理用户的输入?

解决方法

您仍然需要验证您的数据,但您不必对其进行清理.

使用预准备语句可防止插入恶意代码,但不会检查其形式是否有意义.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读