#php #laravel
#php #laravel
Вопрос:
У меня есть форма внутри блейда, которая вызывает функцию контроллера, и я пытаюсь включить параметр строки запроса URL в вызов функции.
url-адрес является testsite.com/verifyPhone?accessToken=1Kdfj348fDFJ$($kjdf
В моем вызове функции контроллера я уже использую запрос для проверки формы
$this->validate($request,[
'verify_phone' => 'required',
]);
Как я могу также получить accessToken
параметр в URL-адресе и включить его в этот запрос для отправки при моем следующем вызове следующим образом:
$authService->verifyPhone($request->accessToken, $request->verify_phone);
Комментарии:
1.
$request->get('accessToken')
не работает?2. блин, я использовал $request()-> accessToken
3. я обновил его в качестве ответа
Ответ №1:
Вы также можете получить параметр запроса через входной фасад
Input::get('accessToken')
Убедитесь, что use IlluminateSupportFacadesInput
Ответ №2:
Одним из преимуществ использования Laravel является то, что вам не нужно беспокоиться о предотвращении такого рода атак.
Laravel автоматически обрабатывает его для каждого сеанса пользователя. Вам просто нужно включить директиву @csrf Blade в вашу форму.
Документация: https://laravel.com/docs/5.8/csrf
Комментарии:
1. Я не уверен, что понимаю? это не имеет никакого отношения к csrf, я получаю токен из внутреннего API, который используется для регистрации функции. Я просто хочу убедиться, что я передаю параметр URL с именем accessToken в этом вызове функции
2. Я считаю, что необходимо ожидать вопросительный знак в вашем web.php файл маршрута. Что-то вроде Route::get(‘/verifyPhone? accessToken={accessToken}’…
3. Параметр есть, но я не получаю его на маршруте. Только в контроллере. Я просто ищу что-то вроде request()-> param
Ответ №3:
Использовать
$request->get('accessToken')
вместо
$request->accessToken