0

我有一个文本区域,我们可以在其中编写 html 代码。当用户保存它时,会发送一个 jQuery 帖子。

服务器将 textarea 保存在 MySQL 中。

但是,所有样式都被剥离了。

<table style="color:red">...</table>

变成

<table >...</table>

类被保留,只是样式被删除。

我查看了 http 数据(通过 Firebug):jQuery 发送了正确的数据。但是当我在服务器上回显数据时,它已经被剥离了......

编辑:我试过

  • 客户端:escape() 和 encodeURIComponent()。数据正确发送(即使没有这些功能)
  • 服务器端:只要我执行 echo $_POST["value"],内联样式就已经消失了(被空格替换)。然而,我尝试了 htmlentities,以及所有的 html 编码/解码功能。我什至在父构造之前在 __construct 方法中做了 echo $_POST。
4

1 回答 1

1

过滤所有帖子数据时

 $config['global_xss_filtering'] = true;

请阅读:Codeigniter global_xss_filtering

还有这个:Codeigniter - 在帖子的基础上禁用 XSS 过滤

这:http ://ellislab.com/codeigniter/user-guide/libraries/security.html

于 2013-07-02T17:00:23.413 回答