Например, у меня есть этот URL:
http://127.0.0.1/public?valid=test1&invalid=test2
Поэтому я отправляю 2 параметра связанной функции в ее контроллере:
$input = $request->all();
$validator = Validator::make($input, [
'valid' => 'nullable|string',
]);
if ($validator->fails())
{
return back()->withInput()->withErrors($validator);
}
Я ожидаю, что этот URL-адрес работает:
http://127.0.0.1/public?valid=test1
Но для этого: http://127.0.0.1/public?invalid=test2
Я не хочу, чтобы этот URL работал, потому что я не определяю параметр invalid
в Validator (маршрут принял этот URL):
Доза поддержки laravel, чтобы отказаться от разных параметров?
На веб-сайте laravel тоже есть эта ошибка
https://laravel.com/?asd=asd
Мое решение:
$input = $request->all();
$valid = ['valid'];
foreach($input as $key => $val)
{
if(!in_array($key,$valid)) abort(404);
}
if ($request->except('valid')) abort(404);
. - person fubar   schedule 31.10.2018