laravel hashed route
v2.8.0
一個 Laravel 包,它替換了預設路由模型綁定以獲得更安全的版本。
您可以使用 Composer 安裝此軟體包:
composer require markwalet/laravel-hashed-route
Laravel 5.5 使用套件自動發現,因此您不必註冊服務提供者。如果您想要手動註冊服務提供者,請將以下行新增至您的config/app.php
檔案中:
MarkWalet LaravelHashedRoute HashedRouteServiceProvider::class
當您想要對給定模型的路由進行哈希處理時。您唯一需要做的就是加入HasHashedRouteKey
特徵:
use MarkWalet LaravelHashedRoute Concerns HasHashedRouteKey ;
class TestModel extends Model
{
use HasHashedRouteKey;
//...
}
之後,您可以像平常一樣使用該模型。由於特徵重寫了resolveRouteBinding()
和getRouteKey()
方法,因此不需要對程式碼進行額外的變更。
當您透過手動從模型中取得$model->id
屬性來建立 url 時,您確實必須更改程式碼。然後您必須將這些呼叫更改為$model->getRouteKey()
。
預設配置在hashed-route.php
中定義。如果您想編輯此文件,可以使用以下命令將其複製到您的 config 資料夾:
php artisan vendor:publish --provider= " MarkWaletLaravelHashedRouteHashedRouteServiceProvider "
在此檔案中,您可以為金鑰的編碼和解碼配置不同的編解碼器,以及設定預設配置。
您可以透過在模型上設定codec
屬性來覆寫此配置。
支援的編解碼器驅動程式有: null
、 hashids
、 optimus
和base64
。如果要停用路由鍵散列,請使用null
驅動程式。