@laravel_pro

Страница 1023 из 2014
Andrey
03.01.2018
23:01:26
Привет! Подскажите нубу как посмотреть на ошибки валидации, когда делаем запрос по api? У меня при ошибке валидации рендерится главная страница Как ошибки валидации вывести в ответе json?
У себя делал мидлварю, устанавливающую хедер, и привязал её к api. После этого все ответы с апи возвращаются только в json формате.

Роман
04.01.2018
08:11:47
Всем привет. Никак не могу понять, как заставить работать csrf токен для защиты от повторных пост-запросов. Кто-нибудь делал?

F01134H
04.01.2018
08:26:01
Эээ

Google
F01134H
04.01.2018
08:26:10
Но ведь он работает из коробки

Роман
04.01.2018
08:27:11
от защиты от повторных post-запросов? не работает

F01134H
04.01.2018
08:41:07
Каких ещё повторных

Роман
04.01.2018
08:41:24
F5

F01134H
04.01.2018
08:41:25
Цсрф токен на все запросы действует

Роман
04.01.2018
08:41:41
он один и тот же генерится на всю сессию

F01134H
04.01.2018
08:41:52
И?)

Роман
04.01.2018
08:42:06
ну и

жмешь F5 - и запрос никак не фильтруется, что он уже был отправлен

сначала submit -> отправляешь форму. потом F5 и запрос с POST той же формы отправляется ещё раз

А если б токен каждый раз разный был - он бы по идее проверял бы, что запрос уже не действителен

но токен один и тот же

F01134H
04.01.2018
08:43:20
Всмысле не фильтруется)

Google
F01134H
04.01.2018
08:43:36
Он фильтруется так же повторно

Роман
04.01.2018
08:43:47
он по идее после проверки токена должен его новый генерить и помещать в сессию. Чтобы следующий запрос использовал новый. А если используется тот же, а в сессии его нет - он его б фильтровал.

нет

не фильтруется, в том и дело

F01134H
04.01.2018
08:44:03
У тебя просто два идентичных запроса

Роман
04.01.2018
08:44:16
да, и нафиг они мне? )

F01134H
04.01.2018
08:44:25
Цсрф токен отправляется вместе с формой

Роман
04.01.2018
08:44:32
да, именно

F01134H
04.01.2018
08:44:45
Роман
04.01.2018
08:44:55
но вместе с генерацией формы - он должен давать новый токен, который помещать в сессию

F01134H
04.01.2018
08:45:00
Спроси у создателей браузеров?

Роман
04.01.2018
08:45:13
ну так причем тут браузеры то?

епрст

Роман
04.01.2018
08:45:19
вопрос был в чем? )

F01134H
04.01.2018
08:45:35
ну так причем тут браузеры то?
Ты говоришь про браузерную хню

Роман
04.01.2018
08:45:53
которую по идее пофиксили с VerifyCsrfToken мидлом

F01134H
04.01.2018
08:45:57
У тебя один и тот же юзер повторяет отправку формы

Роман
04.01.2018
08:45:59
как мне казалось

нет

Google
Роман
04.01.2018
08:46:07
отправка формы - это отправка формы

F01134H
04.01.2018
08:46:09
Зачем ему заново генерить токен

Бля

Роман
04.01.2018
08:46:16
а повтор запроса - это не из формы - просто тоже самое

ты почитай вопрос внимательно, поймешь)

F01134H
04.01.2018
08:46:29
А ты УВЕРЕН?

Роман
04.01.2018
08:46:34
более чем

F01134H
04.01.2018
08:46:42
Соболезную

Роман
04.01.2018
08:46:42
нашел решение - переопределить addCookieToResponse

но почему-то сначала отрабатывает генерация токена в хелпере, а потом уже миддл доходит до данного метода

F01134H
04.01.2018
08:47:15
а повтор запроса - это не из формы - просто тоже самое
Отправка формы это и есть запрос офк

Роман
04.01.2018
08:47:21
мне то чего соболезновать? не можешь помочь, хочется пообщаться - так и скажи

Роман
04.01.2018
08:47:24
блин

F01134H
04.01.2018
08:47:27
Это одно и тоже действие

Роман
04.01.2018
08:47:30
ты явно не догоняешь проблемы)

одно дело - запрос из формы, которая сгенерилась и правильно отправилась

нет

а другое дело - Ф5

F01134H
04.01.2018
08:47:54
Ты какую то хуйню придумал

Роман
04.01.2018
08:47:56
при Ф5 форма не генерилась, соответственно токен взят старый

Google
Роман
04.01.2018
08:48:08
мне кажется, тебе пора в бан за кол-во неадеквата и мата )

F01134H
04.01.2018
08:48:18
Не, не пора

Ты не шаришь, что такое csrf, да?

при Ф5 форма не генерилась, соответственно токен взят старый
Покажи мне кейс, где это является уязвимостью

Или у тебя мидлвейр падает?

Admin
ERROR: S client not available

Роман
04.01.2018
08:52:08
По ощущениям, миддл отрабатывает после попадания в контроллер, хотя должно быть наоборот

Alexey
04.01.2018
08:53:59
просто после post запроса тебе нужно редиректить на гет запрос, чтобы при ф5 у тебя повторялся гет запрос, а не пост

Роман
04.01.2018
08:54:56
зачем

когда можно проверять токен и генерить новый после проверки

ну и при нажатии в браузере "назад" интересно, что будет

Нашел решение. в миддлвейре VerifyCsrfToken переопределить addCookieToResponse: if (!$this->isReading($request)) { $request->session()->regenerateToken(); } return parent::addCookieToResponse($request, $response);

Maksim (Ellrion)
04.01.2018
09:05:53
ну и при нажатии в браузере "назад" интересно, что будет
Тебе выше единственное верное решение сказали. После поста должен быть редирект если это работа в браузере и формы

Oscar
04.01.2018
09:07:28
С чего оно единственно верное?
Ну так токен же должен и в HTML обновиться

Иначе откуда взять новый

Если ajax форма, то сделать endpoint на regenerate токен или возвращать новый после отправки

Роман
04.01.2018
09:08:21
Иначе откуда взять новый
А он у кого-нибудь обновляется по-умолчанию в ой же сессии? Я почему-то думал, что он должен с каждой генерацией формы новый создаваться. А он один и тот же на протяжении сессии

Google
Maksim (Ellrion)
04.01.2018
09:08:52
С чего оно единственно верное?
С того что избавляет от всех проблем и не добавляет новых. Во всех гайдах это написано

Oscar
04.01.2018
09:08:58
15 минут условно

Freeplex
04.01.2018
10:10:03
Народ, а кто может на данном фреймворке написать сайт, точнее уже имеющийся контент перенести и доработать страницы ( верстка, дизайн, функционал)

Daniel
04.01.2018
10:14:27
Услуги веб студии интересуют или только фрилансеры?

Евгений
04.01.2018
10:14:27
я могу

Freeplex
04.01.2018
10:14:56
Нтеиесует чтобы довели до ума, а кто делать будет не важно.

Евгений
04.01.2018
10:15:25
ТЗ есть?

Freeplex
04.01.2018
10:15:54
А вот с ТЗ нужно садиться и в деталях прорабатывать сайт

Daniel
04.01.2018
10:16:10
класс...))

Евгений
04.01.2018
10:16:24
можешь в личку скинуть подробности, посмотрю

Freeplex
04.01.2018
10:16:30
И если все ок, то на будущее нужно будет развивать проект

То есть не разовая работа

Позже, сейчас пока на работе

Alexey
04.01.2018
10:34:39
Если ajax форма, то сделать endpoint на regenerate токен или возвращать новый после отправки
или токен кладется в куку, а js из куки берет и добавляет в хедер только сервер должен уметь так работать ларавел так делает, если не ошибаюсь

Rishat
04.01.2018
10:42:17
homestead как конектиться не через vagrant vagrant , а от рута?

∀RTUR
04.01.2018
10:42:56
Ни в коем случае не рут

Michael
04.01.2018
10:42:59
sudo?

Страница 1023 из 2014