Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 10.03.2018 01:09:06

Удаление материала и безопасность.

Всем привет! На сайте реализовал модуль со статьями. Удаление статьи происходит при переходе по ссылке, частью которой является ID статьи, и по данной ссылке через роут вызывается контроллер, в котором происходит ModelName::dfopIfExists($id). Проверка права на удаление статьи происходит через $this->authorize(...). У меня появились сомнения насчёт безопасности такой реализации, так как, например, при отправке формы мы в скрытом поле также отправляет токен, который должен защитить от одного способа взлома (ещё не разобрался с этим подробно). В случае с удалением статьи такой проверки не происходит. Насколько данная реализация является безопасной?

Не в сети

#2 10.03.2018 13:50:22

Re: Удаление материала и безопасность.

Дружище, удалять ресурс GET запросом не самая хорошая идея. ознакомся с REST архитектурой

Если вкратце, для твоего случая тебе нужен запрос типа DELETE



<form method="post" action="/articles/{{ $article->id }}">
{{ csrf_field() }} // это предотвратит несанкционированный доступ к твоему эндпоинту со сторонних приложений, чего ты лишаешься при GEt запросе
{{ method_field('DELETE') }}
</form>

//в routes/web
Route::delete('articles/{article}', 'ArticlesController@destroy')->name('articles.destroy');

// В контроллере

public function destroy(Article $article, Request $reqeust)
{
   // авторизация на удаление в Reqeust

   ...


   $article->delete();
}

Изменено code_bright_anywhere (10.03.2018 13:51:32)


Пишу бэкенд для своего мобильного приложения, делюсь с миром, заходите посмотреть, много всего интересного https://youtu.be/C5M6-ycJ5gs

Не в сети

#3 11.03.2018 01:12:02

Re: Удаление материала и безопасность.

Спасибо!

Не в сети

Подвал раздела