iframe没有正确地从ckeditor存储在mysql中

时间:2012-12-19 21:20:14

标签: php mysql iframe ckeditor htmlspecialchars

我正在使用ckeditor将格式化文本发布到mysql数据库中。当我发布它时,将iframe转换为编码的html,就像使用htmlspacialchars一样,但保留其余的html代码。

我得到了什么:

<p>&lt;iframe frameborder=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://php.net/manual/en/function.mysql-real-escape-string.php&quot;&gt;&lt;/iframe&gt;</p>

<p>&nbsp;</p>

<ul>
 <li>hi lol</li>
 <li>wow</li>
 <li>yaya</li>
</ul>

vs我想要的:

<p><iframe frameborder="0" scrolling="no" src="http://php.net/manual/en/function.mysql-real-escape-string.php"></iframe></p>

<p>&nbsp;</p>

<ul>
 <li>hi lol</li>
 <li>wow</li>
 <li>yaya</li>
</ul>

这使它显示为html代码,而不是在页面上呈现iframe。

我知道问题不在于mysql,因为当我直接通过phpmyadmin存储它时,它会让它在页面上显示正常,呈现iframe。

同样,它在tinymce中发生了同样的事情,因此它可能是服务器权限的事情,我不知道。

1 个答案:

答案 0 :(得分:2)

编辑正在防范Cross Site Scripting攻击。一点点搜索找到了add an iframe with ckeditor的正确方法。