gpt4 book ai didi

php - ' "turns out as\' 和\"

转载 作者:可可西里 更新时间:2023-10-31 22:59:23 28 4
gpt4 key购买 nike

所以我有一个可以输入的字段。输入后按确定,它会向 save.php 发送 ajax 调用并将其插入数据库(使用 php),然后然后输出你输入的内容。然后 ajax 调用成功获取输出并提醒它 (success: function(msg){ alert(msg) })。响应是在 html 中。

效果很好,直到我在字段中使用 '"。例如,如果我写:'asdadsasd" 结果是:\'asdadsasd\" 我该如何解决这个问题?

不知道这是否重要,但在 save.php 中我有:

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header('Content-type: text/html; charset=utf-8');

它输出的信息是这样的:

echo htmlspecialchars(strip_tags($message), ENT_QUOTES, 'utf-8'); 

最佳答案

这很可能是由于 PHP 的异常 有用 刺激性 "magic quotes"特征。魔术引号自动在用户代理提供的传入数据中的单引号和双引号之前插入斜杠(即在 $_GET$_POST$_COOKIE,或“GPC”),试图为那些没有意识到未转义的用户输入的危险的人提供一些安全性。

当然,您应该始终使用 get_magic_quotes_gpc 检查魔术引号在您尝试使用任何 GPC 数据之前。如果启用,只需调用 stripslashes在使用之前根据您的输入。

我在我编写的任何脚本的开头都使用类似的内容:

function cleanInput($input)
{
if (is_array($input))
{
foreach ($input as &$value)
{
$value = cleanInput($value);
}

return $input;
}
else
{
return stripslashes($input);
}
}

if (get_magic_quotes_gpc())
{
$_GET = cleanInput($_GET);
$_POST = cleanInput($_POST);
$_COOKIE = cleanInput($_COOKIE);
$_REQUEST = cleanInput($_REQUEST);
}

关于php - ' "turns out as\' 和\",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4223623/

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