繁体   English   中英

htmlentities()和用户输入弄乱了SQL查询

[英]htmlentities() and user input messing up SQL query

我环顾了大约15分钟,找不到与我的问题相同的任何东西。

我在网站上进行了一次简单的聊天,但是当有人输入数据时,它就开始了。

$m = htmlentities($_POST['m']);
$m = mysql_real_escape_string($m);

..then像通常一样插入数据库。 这对于阻止人们在聊天中使用HTML代码非常有效,但是今天有人发现插入ASCII字符(他们复制并粘贴“›”符号)会导致JSON返回

"chat":null

但是在返回的JSON中没有该符号,它看起来像

"chat":"<span class=\"chatMessage\"><span style=\"color:#FF7F00\">[12:11:42] Me: Message<\/span><\/span> 

其中带有符号的行

&acirc;€&ordm;

而不是应该在那里。

“»”显示为“»”的原因

您的数据编码为utf8,但是页面上的meta标记或服务器错误地告诉它是ISO-8859-1或其他名称。 修正标题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM