gpt4 book ai didi

php - 发送到 mysql 的表单上的链接和样式损坏,是因为 mysql_real_escape_string 吗?

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

为了保证安全

如果要显示我,请在发送到 Mysql 之前使用 mysql_real_escape_string

我愿意:

....

$b = mysql_real_escape_string($b);
$r_int = mysql_real_escape_string($r_int);
$r_ext= mysql_real_escape_string($r_ext);

$id_tmp = $_SESSION['id'];
$insert = "INSERT INTO table (nombre, coment, iduser,fecha)
VALUES ('$b','$r_int','$id_tmp',NOW())";
....

但是如果这些值包含任何 <a href="where">go</a>它将变成<a href="\where\">go</a>

而且..我不能去!哈哈,

我该如何解决这个问题并保证安全?

谢谢!

最佳答案

听起来您可能打开了 magic_quotes_gpc 或类似功能之一。较旧的 PHP 版本会自动转义所有内容,因此通过执行 mysql_real_escape_string() (正如您应该做的那样),您实际上添加了另一层转义。

正确的解决方案是关闭 magic quotes 。它们已被弃用并且应该关闭,并且您继续使用 mysql_real_escape_string()。

注意:关闭 magic_quotes 必须从 php.ini 或通过 httpd.conf/.htaccess 中的 php_value 来完成。您无法通过脚本内的 ini_set() 来完成此操作,因为当 ini_set 执行时,PHP 已经完成了神奇的引用。

关于php - 发送到 mysql 的表单上的链接和样式损坏,是因为 mysql_real_escape_string 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5112736/

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