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 ответа

Только не делайте этого, используйте запрос DELETE или POST.

Об этом спросили несколько лет назад, но это может быть полезно для других. Когда вы используете ссылку, вы должны использовать метод 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
     }
Другие вопросы по тегам