You can write your own middleware replacing the framework's signed middleware on the Route, e.g. write the middleware to check the signature while ignoring the page query param:
// app/Http/SignedWithPaginator.php
public function handle(Request $request, Closure $next): Response
{
abort_unless($request->hasValidSignatureWhileIgnoring(['page']), 403, 'Invalid Signature');
return $next($request);
}
Add your new middleware to the Route definition:
// routes/web.php
use App\Http\Middleware\SignedWithPaginator;
Route::get('/shared/user-view', [Controller::class, 'action'])
->name('user-view')
->middleware([SignedWithPaginator::class]);
@yorgv You need to generate new signed URLs for each page.
If you just ignore the page parameter, then that defeats the point of using signed URLs in the first place, as any one who discovers the signature can then just enumerate and scrape each and every page with the same signature tacked on the end of the URL.