1

我在 codeigniter 中有一个表单,可以将一些 html 内容保存到数据库中。以这个 HTML 为例:

<div style="width:400px">
  <div style="background-color:yellow">
    Header
  </div>
</div>

当我保存它时,我的 html 标签被破坏了。即使我在提交表单时“打印_r”$_POST,我也会看到 html 标签被破坏。这是我得到的:

<div 
  <div 
    Header
  </div>
</div>

但是没有codeigniter(简单代码)的相同表单可以正常工作并显示正确的html。

这在 CI 中正常吗?如何解决?

4

2 回答 2

5

这是一个 XSS 过滤问题。在您的 CI 安装中,您已将 global_xss_filtering 标志设置为 true,因此它会在您使用之前清理所有输入数据。在这里,问题描述和解决之前:

Codeigniter - 在帖子的基础上禁用 XSS 过滤

此处在“安全过滤”部分进行了描述:

http://codeigniter.com/user_guide/libraries/input.html

于 2012-04-25T02:32:07.820 回答
0

尝试将“/”放在样式结束处:

<div style="width:400px;">
    <div style="background-color:yellow;">
       Header
    </div>
</div>
于 2012-08-22T12:21:52.413 回答