使用$ this-> input-> post(); 在Codeigniter中,删除网站用户可能输入的任何html和javascript,或者你必须使用htmlspecialchars();?
$this->input->post() 仅包含帖子数据..
您可以$this->input->post(NULL, TRUE);按照手册调用,以返回通过XSS过滤器过滤的数据.
你可以在这里看到究竟发生了什么,它是否基本上使用fetch_from_array重新构建$ _POST数组.这将调用XSS 的安全模块$this->security->xss_clean($array[$index]);(如果将XSS过滤器设置为true).
如果XSS过滤器没有捕获到某些内容,则会暴露您的代码.
我通常不会在使用它之前过滤我的原始输入数据,而只是在它即将被使用时,以及以特定的方式.
如果您在输入中过滤恶意内容几乎是不可能的,因为它被设计为作为输出运行.
正如我在回答的评论中所提到的,XSS输入过滤器不足以防止攻击.
如有疑问,请咨询OWASP.