gpt4 book ai didi

php - 使用 PDO 省略 bindParam 安全吗?

转载 作者:行者123 更新时间:2023-11-29 08:03:17 25 4
gpt4 key购买 nike

我想知道是否必须使用bindParam来防止使用PDO和MYSQL的SQL注入(inject)。

示例:

$username=$_POST['username'];
$password=$_POST['password'];
$cryptpass=hashFunction($password);
$sth=$dbh->prepare("INSERT INTO users(username,password) VALUES(?,?)");
$sth->execute(array($username,$cryptpass));

编写此代码是否安全且正确?省略bindParam会使代码更短。

最佳答案

这仍然将值绑定(bind)到准备好的语句。您所做的事情与使用 bindParam 函数相同。所以答案是肯定的,它同样安全。 bindParam 只允许比简单地与 execute 函数绑定(bind)更多的功能,例如:

$sth=$dbh->prepare("Select * from users where status=:v1");
$sth->bindParam(':v1',1,PDO::PARAM_INT);
$sth->execute();

这允许您默认指定data_type,并且execute所有内容都作为字符串发送。您也可以查看类似问题的答案:PDO bindParam vs. execute

关于php - 使用 PDO 省略 bindParam 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23230482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com