как дать CSRF в контроллере laravel - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть метод для обновления, я тестирую обновление через почтальона, в маршрутизации в сети. php не в API. php если я использую get в маршрутизации, это работает, но я думаю, что это не правильный путь, но Когда я использую патч или пут показывает «страница устарела», я знаю, это вызывает CSRF, но как я помещаю csrf в контроллер? когда я гуглю, там говорят:

$request->session()->token().

но как я это использую

это мой код

route

Route::put('/customer/update/{id}', 'CustomerController@update');

контроллер

public function update(Request $request, $id){
$customer = Customer::find($id);
$customer->name = $request->name;
$customer->save();
}

моя конечная точка

http://127.0.0.1:8000/customer/update/42?name=maria50

я использую в почтальоне, патч / пут не работает, только спасибо за помощь перед

1 Ответ

0 голосов
/ 04 апреля 2020

Для тестирования вы можете использовать это, чтобы исключить защиту от CSRF для вашего пути данные и там вы можете использовать @ csrf

<form method="POST" action="/profile">
    @csrf
    ...
</form>

Или вы можете установить заголовок запроса со значением CSRF https://laravel.com/docs/6.x/csrf#csrf -x-csrf-token

'X-CSRF-TOKEN': 'значение'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...