0

我目前正在使用 CodeIgniter 框架,并希望通过使用 HTMLPurifier (http://htmlpurifier.org/) 来加强 XSS 保护。

我的理解是否正确,您想在发布后“清理”数据,以便在插入数据库之前对其进行净化?还是在视图中显示之前运行它?

如果是这样,我是否要在发生的每个帖子上运行 HTMLPurifier?由于该应用程序包含很多表单,我不想有选择性地选择要清理的内容和不清理的内容 - 假设我可以拦截所有帖子,这是要走的路吗?当然,无论如何我都会验证一些字段(如电子邮件地址、数字等)

4

1 回答 1

0

用来$this->input->post()获取$_POST数据。如果全局 xss 过滤器设置为 true,Codeigniter 会自动过滤它。

请参阅文档:http ://codeigniter.com/user_guide/libraries/input.html


编辑:澄清

是的,您应该在插入数据库之前进行过滤,是的,您应该过滤所有用户输入。

一个快速的谷歌搜索,http ://www.google.com/search?q=codeigniter+htmlpurifier ,导致了这个页面:http : //codeigniter.com/wiki/htmlpurifier,它是 htmlpurifier 的助手。关于捕获所有 $_POST 数据:您必须对数据做一些事情,对吗?在您的模型中,当您执行此操作时,只需将 purify() 作为该过程的一部分:

$postdata = purify($_POST); 
于 2011-10-15T00:06:27.797 回答