我目前正在使用CodeIgniter框架,并希望通过使用HTMLPurifier(http://htmlpurifier.org/)来加强XSS保护。
我的理解是否正确,您希望在帖子上“清理”数据,以便在插入数据库之前将其净化?或者在视图中显示之前运行它?
如果是这样,我是否要在每个发布的帖子上运行HTMLPurifier?由于应用程序包含很多表单,我不想有选择地选择要清理的内容和什么不行 - 假设我可以拦截所有帖子,这是要走的路吗?当然,无论如何我都会验证一些字段(如电子邮件地址,数字等)
答案 0 :(得分: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);