我看到使用xss clean for kohana旧版本http://docs.kohanaphp.com/general/security的文档
但是如何在kohana 3.1中使用htmlpurifier和替代方法实现这一点
$this->input->get('my_var','default_value', true);
Run Code Online (Sandbox Code Playgroud)
Kem*_*emo 14
Rasmus建议从Kohana中删除XSS黑名单,以便htmlspecialchars() - HTML::chars()在您真正需要放入HTML时使用或使用HTMLpurifier 来转义输出.
从3.1开始,Security xss_clean()默认没有这个方法,你必须安装shadowhand的HTMLpurifier模块来保护输入字符串(通过从github添加子模块,将其放入模块并在bootstrap中启用它).
模块本身将覆盖默认的Security类,并添加xss_clean()使用HTMLpurifier进行转义的方法.还有一个模块的配置文件,您可以在其中设置应用程序级别的所有内容.由于许多原因,没有"自动"完成输入转义; 开销,一致性等
由于Request在此版本中被重写以匹配RFC 2616并获得更强大的HMVC,因此您将使用Request::query()[ $this->request->query()控制器内部] 访问您的查询字符串变量,但仍然没有在该方面进行转义(每个请求可以拥有自己的标题,POST,GET等)
你逃脱当前POST变种的最简单方法是:
$safe = Arr::map('Security::xss_clean', $this->request->post());
Run Code Online (Sandbox Code Playgroud)
PS不要过多关注这里写的废话$this->request->param(),它只是为了访问匹配的Route的参数,而不是你的GET或POST变量.