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

时间:2013-07-12 19:13:20

标签: php javascript mysql character-encoding escaping

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

escape(target)

现在从MySql读取它时,我正在使用$post=target recieved on PHP page by POST $post= htmlentities($_POST['posttext']); $post = mysql_real_escape_string($post); 发布所需的输出。

问题:

在我的本地apache服务器上一切正常,但是当我将相同的代码上传到在线服务器时,输出的几个特殊字符后跟html_entity_decode($post)

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

我错过了什么吗?任何帮助?

1 个答案:

答案 0 :(得分:0)

不要仅仅为数据库插入编码html实体,特别是如果你每次都要再次解码它们。浪费cpu周期,并且没有防止sql注入。

您的在线服务器可能已启用magic_quotes,这意味着它配置错误或过时。 magic_quotes会在PHP的任何输入中自动转义引号,讽刺的假设是没有人可能想要向PHP发送内容然后 NOT 将它放入数据库。

相关问题