在 Laravel 中生成 URL
Generating URL's in Laravel
我正在 Laravel 做一个副项目,我是一名初级实习生。目前我需要生成一个 URL 并将其发送到特定的电子邮件,用户可以在有限的时间内查看 pdf 一次。
目前,我正在研究独特的 URL 生成,并希望获得一些建议,以按照标准安全地生成它们,并且仅在有限的时间内生成。
想要一些资源或建议。
我想你要找的是 Laravel 中的 Signed Routes。
可能会有帮助
https://laravel.com/docs/9.x/urls#signed-urls
示例:
首先,在使用签名 URL 之前,您需要检查 App/Http/Kernel 中的下一行是否未注释
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
之后在网络路由中你必须添加签名的中间件
Route::get('pdf/{id}/{user}/{response}', PdfController::class)->name('pdf.generate')->**middleware('signed')**
您终于可以使用签名的 url 作为
use \Illuminate\Support\Facades\URL;
URL::temporarySignedRoute('pdf.generate', now()->addHour(), [
'id' => 25,
'user' => 100,
'response' => 'yes'
]);
创建签名的 url 赞
https://example.com/pdf/25/100/yes?expires=1521543365
&signature=d32f53ced4a781f287b612d21a3b7d3c38ebc5ae53951115bb9af4bc3f88a87a
其中签名哈希包括路由中的所有参数并避免操纵,一小时内最好的将永远过期。
投掷 Illuminate\Routing\Exceptions\InvalidSignatureException。
过期后访问时
我正在 Laravel 做一个副项目,我是一名初级实习生。目前我需要生成一个 URL 并将其发送到特定的电子邮件,用户可以在有限的时间内查看 pdf 一次。
目前,我正在研究独特的 URL 生成,并希望获得一些建议,以按照标准安全地生成它们,并且仅在有限的时间内生成。
想要一些资源或建议。
我想你要找的是 Laravel 中的 Signed Routes。
可能会有帮助
https://laravel.com/docs/9.x/urls#signed-urls
示例:
首先,在使用签名 URL 之前,您需要检查 App/Http/Kernel 中的下一行是否未注释
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
之后在网络路由中你必须添加签名的中间件
Route::get('pdf/{id}/{user}/{response}', PdfController::class)->name('pdf.generate')->**middleware('signed')**
您终于可以使用签名的 url 作为
use \Illuminate\Support\Facades\URL;
URL::temporarySignedRoute('pdf.generate', now()->addHour(), [
'id' => 25,
'user' => 100,
'response' => 'yes'
]);
创建签名的 url 赞
https://example.com/pdf/25/100/yes?expires=1521543365 &signature=d32f53ced4a781f287b612d21a3b7d3c38ebc5ae53951115bb9af4bc3f88a87a
其中签名哈希包括路由中的所有参数并避免操纵,一小时内最好的将永远过期。
投掷 Illuminate\Routing\Exceptions\InvalidSignatureException。 过期后访问时