170 похожих чатов

Вопрос по yii2 Есть форма на странице и кнопка за пределами

формы.
По кнопке отправляется ajax пост запрос к другому контроллеру. Запрос отрабатывает нормально.
После этого отправляю форму, появляется ошибка "не удалось проверить переданные данные"

Если просто отправляю форму, то никаких ошибок.

я так понял, что это из-за csrf. Когда отключаю его проверку, то все ок. В какую сторону копать?

11 ответов

8 просмотров
Stas- Автор вопроса

зачем? Я вижу все движения в логах и дебаг панели. Просто я не знаю, что именно искать

отключить csrf, это ненужная штука нынче

оно ж не для безопасности, а чтобы гарантировать что запрос с твоего сервера типа. Но кто мешает дергать каждый раз старницу перед тем как делать запрос в апи(или чо там)?

The Ant 🐜
оно ж не для безопасности, а чтобы гарантировать ч...

Немного не так. При рендеринге страницы в форму закладывается сгенерированный токен. Каждый раз новый. Соответственно, даже если ты дёрнешь страницу и подставишь токен в запрос, то у тебя сессия будет уже другая, сервер это не зачтёт. CSRF-атаки же используются в связке с XSS. Вот против таких атак этот метод всё ещё эффективен.

Владислав Субботин
В каком фреймворке?

В Ларе и Симфе вроде так. Он генерится и торчит один и тот же.

Stas- Автор вопроса
Павел Г.
Нихера он не новый... я сам охерел)

Только что проверил, каждый раз новый генерится

Stas
Только что проверил, каждый раз новый генерится

Банально где то было, что для простоты можно скопировать scrf и исопльзовать в постмане.

Stas
Только что проверил, каждый раз новый генерится

Порверил симфу и лару - не меняется. Хз где у вас меняется.

Похожие вопросы

Обсуждают сегодня

Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
А дальше что?.. Записать в файл, потом в Код?.. И потом разбирать как-то?..
Хаскель Моисеевич Гопник
14
доброго времени. db, dw и прочие исполняются при трансляции или при выполнении программы?
lutayyy
10
Почему никто не подсказал, что можно объявить свои типы данных, в которых меньше полей, чем в отданном джейсоне, и добавлять их по необходимости?
Strange Rabbit
10
Хтось використовував Vapor на Windows?
Jaroshevskii
15
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Карта сайта