Laravel добавить CSRF проверить ссылку
Я реализую действие после DELETE в laravel, используя гиперссылку, как это делает WordPress:http://mysite/wp-admin/post.php?post=568&action=trash&_wpnonce=ec36bea1fd
последняя часть ссылки имеет wpnonce
то есть csrf
в Ларавелле. но промежуточное ПО laravel csrf не проверяет csrf на наличие get
просит. Можно ли заставить приложение проверить _token
? и нужно ли это? если это не так, почему WordPress проверяет это?
2 ответа
Об этом спросили несколько лет назад, но это может быть полезно для других. Когда вы используете ссылку, вы должны использовать метод javascript onclick, чтобы добавить _token в форму и отправить его, чтобы пользователь увидел его как ссылку.
Другой способ, который сработал для меня, заключался в следующем:
сделайте ссылку типа следующей:
<a href="/panel/news/delete/{{$news->id}}/{{CSRF_TOKEN()}}" >
тогда проверьте это так:
public function delete(Request $request,$id,$token)
{
if(csrf_token() != $token)
return throw new \Illuminate\Session\TokenMismatchException;
// do the deletion
}