gpt4 book ai didi

php - 什么时候应该转义 MySQL 中使用的字符串

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

我是 PHP 的新手,但已经熟悉 StackOverflow 一段时间了。

我最近一直在阅读有关使用 mysql_real_escape_string 的适当时间的信息,希望对以下任何建议表示感谢。

在初始 $_POST 变量上使用一次 mysql_real_escape_string 是否足以通过脚本保护字符串?

例如:

$username = mysql_real_escape_string($_POST["username"]);
$password = mysql_real_escape_string($_POST["password"]);
$email = mysql_real_escape_string($_POST["email"]);
$repeat_password = mysql_real_escape_string($_POST["repeat_password"]);

我在运行一堆 if 语句之前声明了这些值,最后一旦 if 语句完成,我就将 INSERT 插入到 mysql 数据库中:

mysql_query("INSERT INTO users (username, password, email, signup_date) VALUES ('$username', '$password', '$email', CURDATE())") or die(mysql_error());

mysql_real_escape_string 在整个 if 语句的任何其他地方都没有使用 - 这对于新手来说是否足够安全,同时仍然保持一些注入(inject)保护?

最佳答案

不,这不安全。你应该切换到 prepared statements .

关于php - 什么时候应该转义 MySQL 中使用的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23281738/

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