gpt4 book ai didi

php - 无法将验证码数据插入mysql数据库

转载 作者:行者123 更新时间:2023-11-29 11:51:21 28 4
gpt4 key购买 nike

我正在尝试将数据插入mysql数据库,这是一个带有验证的电子邮件注册。唯一的随机数没有插入到数据库表中。请帮我。非常感谢。

else {
$user_confirm = md5(uniqid(rand()));
echo "$user_confirm";
//the form has been posted without, so save it
//notice the use of mysql_real_escape_string, keep everything safe!
//also notice the sha1 function which hashes the password
$sql = "INSERT INTO users(
user_name,
user_pass,
user_email,
user_date,
user_level,
user_confirm
)
VALUES('" . mysql_real_escape_string($_POST['user_name']) . "',
'" . sha1($_POST['user_pass']) . "',
'" . mysql_real_escape_string($_POST['user_email']) . "',
NOW(),
0,
'$user_confirm'
)";

$email = $_POST["user_email"];
$result = mysql_query($sql);

最佳答案

您有两个问题:$user_confirm 是一个字符串(我用您的代码生成了 beba256f79e888013bb34e5a774fe7f9),并且您尝试将其存储在指定的列中整数 (INT(11))。

哈希字符串应该存储在TEXT字段中,以考虑到md5()sha1生成的字符串的大小().

其次,您确实不应该使用 MD5 密码哈希,而应该使用 PHP 的 built-in functions来处理密码安全。如果您使用的 PHP 版本低于 5.5,则可以使用 password_hash() compatibility pack .

<小时/>

Your script is at risk for SQL Injection Attacks.

如果可以的话,你应该stop using mysql_* functionsThese extensions已在 PHP 7 中删除。了解 prepared PDO 的声明和 MySQLi并考虑使用 PDO,it's really pretty easy .

关于php - 无法将验证码数据插入mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34005236/

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