spatelsofmen/xssinput

Laravel Input 面板的一个简单扩展,模仿 CodeIgniter 的 XSS 过滤

v2.0 2015-08-03 08:49 UTC

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() 的唯一选项。

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 传递给这些参数以关闭该特定方法的过滤。