当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《了解准备语句的用户数据验证》经验,为你挑选了1个好方法。

我读过如果您使用预准备语句,则无需验证或清理用户的输入.

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

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

我通常会这样做

验证码

 // 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, "query2", array($_POST['email'], $_POST['password']));
 if(!$result) {
     echo "An error occurred";
     exit;
 }

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

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



1> Till Theis..:

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

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

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有