【问题标题】:Codeigniter removes HTML entitiesCodeigniter 删除 HTML 实体
【发布时间】:2012-04-25 02:22:55
【问题描述】:

我在 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 中正常吗?怎么解决?

【问题讨论】:

  • 我认为这没有任何问题,除非我们在这里遗漏了一些流程。愿意提供更多“更多”细节吗?

标签: php forms codeigniter html-entities


【解决方案1】:

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

Codeigniter - Disable XSS filtering on a post basis

这里在“安全过滤”部分进行了描述:

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

【讨论】:

    【解决方案2】:

    尝试在样式结束时加上“/”:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      相关资源
      最近更新 更多