gpt4 book ai didi

php - 这个存储方法是sql injection "safe"吗?

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

我刚刚从头开始编写自己的 php 注册脚本,因为我是新手,所以我想问一下我使用的方法是否可以防止 sql 注入(inject)?

这是我如何与我的 sql 数据库交换数据的示例:

public function StoreUser($name, $email, $password, $devid) {

$mysqli = new mysqli("host", "user", "pass", "data");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

$unique_id = uniqid('', true);
$hash = $this->hashSSHA($password);

$add_user = $mysqli->prepare("INSERT INTO `users` SET `unique_id`=?, `name`=?, `email`=?, `encrypted_password`=?, `salt`=?, `devid`=?, `created_at`=?");
$add_user->bind_param("sssssss",$unique_id,$name,$email,$hash["encrypted"],$hash["salt"],$devid,date("H:i:s"));
if ($add_user->execute()) {
$add_user->close();
$mysqli->close();
return true;
}
else {
$add_user->close();
$mysqli->close();
return false;
}

}

最佳答案

是的,它是安全的。

您正在使用从根本上将数据与命令分开的参数化查询,使您免受一阶 SQL 注入(inject)攻击。

关于php - 这个存储方法是sql injection "safe"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13756683/

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