
Andrey
03.01.2018
23:01:26

Maxim
04.01.2018
06:57:34

Роман
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
ну так причем тут браузеры то?
епрст

F01134H
04.01.2018
08:45:14

Роман
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, да?
Или у тебя мидлвейр падает?

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

Роман
04.01.2018
09:06:14

Oscar
04.01.2018
09:07:28
Иначе откуда взять новый
Если ajax форма, то сделать endpoint на regenerate токен или возвращать новый после отправки

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

Oscar
04.01.2018
09:08:48

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

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?