Не работает CSRF при включённом YII_DEBUG
Не работает CSRF при включённом YII_DEBUG
Внезапно обнаружился такой артефакт. Отключаю YII_DEBUG - всё ок, кука устанавливается, очищаю куки и включаю YII_DEBUG - не устанавливается кука, и, соответственно, валидация не работает.
С чем может быть связано?
С чем может быть связано?
Re: Не работает CSRF при включённом YII_DEBUG
а если еще раз отключить YII_DEBUG, кука установиться?
Re: Не работает CSRF при включённом YII_DEBUG
не совсем понятно, т.к. поумолчанию debug включен и у всех работает
может вы что-то еще добавляли?
может вы что-то еще добавляли?
Re: Не работает CSRF при включённом YII_DEBUG
Путём небольших изысканий было выяснено, что при включённом debug-е CSRF оказывается в response-е модуля (т.е. debug-а) и не устанавливается (не знаю, почему), в response самого приложения его при этом нет. Если же debug выключен, то CSRF кука находится в response приложения и нормально себе ставится.
Debug включен на девелоперских машинах, на продакшене выключен, конечно, но от этого не легче, ибо тестирование форм немного затруднено при этом.
У меня переписан afterAction для контроллера, но при его удалении ничего не меняется.
Debug включен на девелоперских машинах, на продакшене выключен, конечно, но от этого не легче, ибо тестирование форм немного затруднено при этом.
У меня переписан afterAction для контроллера, но при его удалении ничего не меняется.
Re: Не работает CSRF при включённом YII_DEBUG
попробуйте обновить фреймворк до последней версии и прочитать про те изменения которые были сделаны во фреймворке, там менялась работа с куками и с CSRF. может просто что-то у вас не настроено правильно
Re: Не работает CSRF при включённом YII_DEBUG
У меня стоит 2.0.3, проблема в том, что с точно такими же настройками и архитектурой приложения всё работает на похожем проекте, что явно даёт понять, что дело не в окружении.
У меня возникла мысль, что, может быть, кто-то сталкивался с похожей проблемой. Как появится время - буду копать дальше и отпишусь по результатам.
У меня возникла мысль, что, может быть, кто-то сталкивался с похожей проблемой. Как появится время - буду копать дальше и отпишусь по результатам.
Re: Не работает CSRF при включённом YII_DEBUG
В общем, первым отправляется ответ от модуля debug-а вместе с заголовками, там кука не установлена (я ошиблась выше), вторым отправляется ответ от приложения, там кука установлена, но, поскольку заголовки уже отправлены в модуле debug-а, то фактически ни хедеры, ни куки второго ответа не отправляются.
Re: Не работает CSRF при включённом YII_DEBUG
Я решила проблему, запихнув в начало вьюхи Я использую Smarty, раньше никогда не заморачивалась по поводу begin и end-ов, а тут end запихнула, а begin - нет.
В процессе изыскания узнала много нового
Код: Выделить всё
{$this->beginPage()}
В процессе изыскания узнала много нового