frozennode / xssinput

Laravel 输入外观的简单扩展,模仿 CodeIgniter 的 XSS 过滤功能

v1.0.0 2014-02-11 19:54 UTC

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() 的唯一参数。

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