graham-campbell/binput
最新稳定版本:v11.1.0
Composer 安装命令:
composer require graham-campbell/binput
包简介
Binput Is An Input Protector For Laravel
关键字:
README 文档
README
Laravel Binput was created by, and is maintained by Graham Campbell, and is an input protector for Laravel that prevents potentially dangerous elements like <script> tags in any input you receive, from doing harm. It utilises my Laravel Security package, which cleans the input using voku/anti-xss. Feel free to check out the change log, releases, security policy, license, code of conduct, and contribution guidelines.
Installation
This version requires PHP 8.0-8.3 and supports Laravel 9-11.
| Binput | L5.5 | L5.6 | L5.7 | L5.8 | L6 | L7 | L8 | L9 | L10 | L11 |
|---|---|---|---|---|---|---|---|---|---|---|
| 5.1 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 6.2 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 7.1 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| 8.0 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| 9.1 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| 10.0 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ |
| 11.1 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
To get the latest version, simply require the project using Composer:
$ composer require "graham-campbell/binput:^11.1"
Once installed, if you are not using automatic package discovery, then you need to register the GrahamCampbell\Security\SecurityServiceProvider and GrahamCampbell\Binput\BinputServiceProvider service providers in your config/app.php.
You can also optionally alias our facade:
'Binput' => GrahamCampbell\Binput\Facades\Binput::class,
Configuration
Laravel Binput requires no configuration. Just follow the simple install instructions and go!
Usage
Binput
This is the class of most interest. It is bound to the ioc container as 'binput' and can be accessed using the Facades\Binput facade. There are a few public methods of interest.
The 'all', 'get', 'input', 'only', 'except', and 'old' methods have an identical api to the methods found on the laravel request class accept from they all accept two extra parameters at the end. The first extra parameter is a boolean representing if the input should be trimmed. The second extra parameter is a boolean representing if the input should be xss cleaned. Both extra parameters are default to true.
There are two additional methods added to the public api. The first is a method called 'map' which will remap the output from the 'only' method. The 'map' function requires an associative array as the first parameter. The second method is the 'clean' function. It takes three parameters. The first is the value to be cleaned (it can be an array, and will be recursively iterated over and cleaned), and the final two are trim and clean, which behave in the same way as earlier.
Any methods not found on this binput class will actually fall back to the laravel request class with a dynamic call function, so every other method on the request class is available in exactly the same way it would be on the Laravel request class.
Facades\Binput
This facade will dynamically pass static method calls to the 'binput' object in the ioc container which by default is the Binput class.
BinputServiceProvider
This class contains no public methods of interest. This class should be added to the providers array in config/app.php. This class will setup ioc bindings.
Real Examples
Here you can see an example of just how simple this package is to use.
// request input data: ['test' => '123', 'foo' => '<script>alert(\'bar\');</script> '] $input = Binput::all(); // ['test' => '123', 'foo' => '']
Security
If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. You may view our full security policy here.
License
Laravel Binput is licensed under The MIT License (MIT).
For Enterprise
Available as part of the Tidelift Subscription
The maintainers of graham-campbell/binput and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.
graham-campbell/binput 适用场景与选型建议
graham-campbell/binput 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 493.33k 次下载、GitHub Stars 达 178, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「framework」 「security」 「input」 「laravel」 「xss」 「Graham Campbell」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 graham-campbell/binput 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 graham-campbell/binput 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 graham-campbell/binput 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Framework HLEB2 is the foundation of the web application. Provides ease of development and application performance.
Yii2 map input widget. Allows you to select geographcal coordinates via a human-friendly inteface.
Widget to add a remaining character counter to text inputs and textareas
Native (browser) color input field for SilverStripe
Provide a way to secure accesses to all routes of an symfony application.
Integration bundle for Aura.Input with Aura.Filter
统计信息
- 总下载量: 493.33k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 181
- 点击次数: 33
- 依赖项目数: 8
- 推荐数: 1
其他信息
- 授权协议: MIT
- 更新时间: 未知
