Codeigniter删除HTML实体

时间:2012-04-25 02:22:56

标签: php forms codeigniter html-entities

我在codeigniter中有一个表单,用于将一些html内容保存到数据库中。 举例说明HTML:

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

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

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

但没有codeigniter(简单代码)的相同形式正常工作并显示正确的html。

这在CI中是正常的吗?怎么解决这个问题?

2 个答案:

答案 0 :(得分:5)

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

Codeigniter - Disable XSS filtering on a post basis

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

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

答案 1 :(得分:0)

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

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