frozennode / xssinput
Laravel 输入外观的简单扩展,模仿 CodeIgniter 的 XSS 过滤功能
Requires
- php: >=5.3.0
- illuminate/support: ~4
This package is not auto-updated.
Last update: 2024-09-14 15:27:11 UTC
README
XssInput 是 Laravel 输入外观的一个极其简单的扩展,某种程度上模仿了 CodeIgniter 输入库的 XSS 过滤功能。实际上,在底层,这个包使用了一种修改过的 CodeIgniter 安全库来过滤 XSS 输入。
XSS 过滤可以通过两种方式之一发生:通过将本包的配置文件中的 xss_filter_all_inputs
选项设置为 true
,或者通过将 true
传递给 Input::get()
的第三个参数,或者作为 Input::all()
的唯一参数。
- 作者: Jan Hartigan
- 网站: http://frozennode.com
- 版本 1.0.0
Composer
要将 XssInput 作为 Composer 包安装并用于 Laravel 4,只需将以下内容添加到您的 composer.json 文件中
"frozennode/xssinput": "dev-master"
..然后运行 composer update
。安装完成后,您可以在 app/config/app.php
文件中的 providers
数组中注册服务提供者
'providers' => array( 'Frozennode\XssInput\XssInputServiceProvider', )
..并将 Input
别名更改为指向 XssInput 外观
'aliases' => array( 'Input' => 'Frozennode\XssInput\XssInput' )
您也可以,而不是这样做,为 XssInput 外观提供一个单独的别名。
然后使用 php artisan config:publish frozennode/xssinput
发布配置文件。这将添加文件 app/config/packages/frozennode/xssinput/xssinput.php
,您应该查看并理解因为它只有一个选项。
用法
这真的是极其简单的。如果您已将全局 XSS 过滤设置为 true
,则可以继续像平时一样使用 Input 外观
Input::get('some_var');
对于获取所有输入也同样适用
Input::all();
但是,如果您没有全局 XSS 过滤,则可以将第三个参数传递给 get()
方法
Input::get('some_var', null, true);
或者将 true
传递给 all()
方法
Input::all(true);
如果您已启用全局过滤,您可以将 false
作为这些参数传递以关闭对该方法特定调用的过滤。