【发布时间】:2013-02-22 22:02:28
【问题描述】:
我想让用户使用编辑器(CKEditor)编辑页面。
问题是我想防止XSS,所以当我使用时:
$this->input->post('content', TRUE)
它还删除了一些html内容,例如以下代码:
<script></script><p><span style="color:#800000;">text</span></p>
变成:
[removed][removed]<p><span
是的,它可以防止 XSS,但也会删除一些必要的 html 内容。
我应该怎么做才能解决它?
【问题讨论】:
-
对于初学者,在保存之前不要更改内容。 XSS 仅在您将某些内容 输出 到可以执行 javascript 的上下文中时发生。如果您过早过滤,则以后无法利用改进的过滤器,也无法查看原始内容。
-
使用 ActiveRecord,您不必担心将字符转义到 DB。
-
@Winston:XSS 和 SQL 注入(或由于无法正确转义而破坏数据库查询的非恶意语法)没有任何连接。
标签: php codeigniter