gpt4 book ai didi

php - 如何摆脱 PHP Mysql Ajax 中的转义字符

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

我试图通过 escape(target) 通过 AJAX 请求发送 HTML 代码(变量 target),但在将其输入之前数据库我通过以下方式再次对其进行编码,

$post=target recieved on PHP page by POST
$post= htmlentities($_POST['posttext']);
$post = mysql_real_escape_string($post);

现在,在从 MySql 读回它时,我正在使用 html_entity_decode($post) 来发布所需的输出。

问题:

在我的本地 apache 服务器上,一切工作正常,但是当我将相同的代码上传到在线服务器时,输出的很少有特殊字符后面跟着 \

EG。

在我的本地服务器上。

awk '/<ca>/{f=1;next}/<\/ca>/{f=0}f' $filename > ca.crt
awk '/<cert>/{f=1;next}/<\/cert>/{f=0}f' $filename > client.crt
awk '/<key>/{f=1;next}/<\/key>/{f=0}f' $filename > client.key

在线服务器上。

awk \'/<ca>/{f=1;next}/<\\/ca>/{f=0}f\' $filename > ca.crt
awk \'/<cert>/{f=1;next}/<\\/cert>/{f=0}f\' $filename > client.crt
awk \'/<key>/{f=1;next}/<\\/key>/{f=0}f\' $filename > client.key

我错过了什么吗?有什么帮助吗?

最佳答案

不要仅仅为了数据库插入而对 html 实体进行编码,尤其是如果您每次都只是要再次解码它们的话。浪费CPU周期,并且没有任何作用来防止sql注入(inject)。

您的在线服务器可能有 magic_quotes启用,这意味着它要么配置错误,要么严重过时。 magic_quotes 会自动转义 PHP 的任何输入中的引号,这是一种愚蠢的假设,即没有人可能想要向 PHP 发送某些内容,然后将其放入数据库中。

关于php - 如何摆脱 PHP Mysql Ajax 中的转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17622397/

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