Laravel 7 中的路由散列
Route Hashed in Laravel 7
我想在 laravel 中散列我的网址,我该怎么做?
我希望 id 不可见并替换为随机表达式
示例:http//:laravel/update/id = http//:laravel/update/hvcd5213fc51dsssd£€#
根据laravel doc https://laravel.com/docs/7.x/routing#explicit-binding => Customizing The Resolution Logic,您可以自定义路由逻辑。
无论您传递了哈希值,您都必须在从数据库中检索信息时调用哈希方法(这里是 md5)。
Route::bind('user', function ($value) {
return App\Models\User::where(DB::raw(md5('name')), $value)->firstOrFail();
});
如果您不想像这样声明路由,或者您可以根据 laravel 文档覆盖 resolveRouteBinding 方法。
注意:这里的 md5 是 mysql 散列函数,如果您不是从数据库中检索,您可以在代码中散列您的值并将其与 URL 值本身进行比较。
我想在 laravel 中散列我的网址,我该怎么做? 我希望 id 不可见并替换为随机表达式
示例:http//:laravel/update/id = http//:laravel/update/hvcd5213fc51dsssd£€#
根据laravel doc https://laravel.com/docs/7.x/routing#explicit-binding => Customizing The Resolution Logic,您可以自定义路由逻辑。
无论您传递了哈希值,您都必须在从数据库中检索信息时调用哈希方法(这里是 md5)。
Route::bind('user', function ($value) {
return App\Models\User::where(DB::raw(md5('name')), $value)->firstOrFail();
});
如果您不想像这样声明路由,或者您可以根据 laravel 文档覆盖 resolveRouteBinding 方法。
注意:这里的 md5 是 mysql 散列函数,如果您不是从数据库中检索,您可以在代码中散列您的值并将其与 URL 值本身进行比较。