spatelsofmen / xssinput
Laravel Input 面板的一个简单扩展,模仿 CodeIgniter 的 XSS 过滤
Requires
- php: >=5.3.0
- illuminate/support: ~5
Requires (Dev)
- mockery/mockery: 0.9.*@dev
This package is not auto-updated.
Last update: 2024-10-02 10:46:16 UTC
README
XssInput 是 Laravel Input 面板的一个极其简单的扩展,它在某种程度上模仿了 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
传递给这些参数以关闭该特定方法的过滤。