apichef / laravel-obfuscate
Laravel 包,用于在 URL 中混淆 ids。
v4.0.1
2024-03-27 09:07 UTC
Requires
- php: ^8.0|^8.1|^8.2
- illuminate/database: ^9.0|^10.0|^11.0
- illuminate/support: ^9.0|^10.0|^11.0
- jenssegers/optimus: ^1.1
Requires (Dev)
- orchestra/testbench: ^6.23|^7.0|^8.0|^9.0
- phpunit/phpunit: ^9.6|^10.5 || ^11.0.1
- squizlabs/php_codesniffer: ^3.9
This package is auto-updated.
Last update: 2024-09-27 10:45:33 UTC
README
Laravel 的简单 ID 混淆
安装
通过 Composer
$ composer require apichef/laravel-obfuscate
使用方法
路由模型绑定
// Model namespace App; use Illuminate\Database\Eloquent\Model; use ApiChef\Obfuscate\Obfuscatable; class Post extends Model { use Obfuscatable; // ... } // Route Route::get('/posts/{post}', function (Post $post) { return [ 'id' => $post->getRouteKey(), 'title' => $post->title, ]; })->name('post.show'); // Generate the URL to a named route. $post = Post::find(1); echo(route('post.show', $post)); // https://my-app.test/api/posts/458047115
验证
namespace App\Http\Requests; use ApiChef\Obfuscate\Rules\HashExists; use Illuminate\Foundation\Http\FormRequest; class PostStoreRequest extends FormRequest { // ... public function rules() { return [ 'post_id' => [ 'required', new HashExists('posts', 'id') ], ]; } }
门面
use ApiChef\Obfuscate\Support\Facades\Obfuscate; $result = Obfuscate::encode(1); // 458047115 $result = Obfuscate::encode([1, 2]); // [458047115, 2033899500] $result = Obfuscate::decode('458047115'); // 1 $result = Obfuscate::decode([458047115, 2033899500]); // [1, 2]
变更日志
请参阅 CHANGELOG 获取最近更改的更多信息。
测试
$ composer test
贡献
请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT 获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件 milroy@outlook.com 而不是使用问题跟踪器。
鸣谢
许可协议
MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件。