Size: a a a

2020 September 14

DS

Dmitriy S in Yii Framework 3
Я ответил
источник

AM

Alexander Makarov in Yii Framework 3
Ну, ужасный с точки зрения безопасности ответ.
источник

AM

Alexander Makarov in Yii Framework 3
Так делать ни в коем случае нельзя.
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Так делать ни в коем случае нельзя.
Почему нельзя? Где проблема в безопасности?
источник

AM

Alexander Makarov in Yii Framework 3
Ты понимаешь зачем токен маскируют при выводе в HTML?
источник

AM

Alexander Makarov in Yii Framework 3
Добавление timestamp после маскирования — это вектор для атаки типа BREACH потому как вероятно сервер синхрится по NTP, а значит у нас появляется известная довольно жирная часть токена.
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Ты понимаешь зачем токен маскируют при выводе в HTML?
Да, он и будет маскироваться, просто сможем дополнительно манипуляции с токеном делать до того, как наложить маску и после снятия
источник

AM

Alexander Makarov in Yii Framework 3
Ну и не очень понятно, зачем токену timestamp...
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Ну и не очень понятно, зачем токену timestamp...
Например я хочу дать токену время жизни 10 минут, после он будет невалиден, сейчас я для этого могу сделать отдельную реализацию CsrfMaskInterface и получить нужный функционал. Если захардкодить маску, как ты хочешь, то такой возможности у меня не будет.
источник

AM

Alexander Makarov in Yii Framework 3
Это странное желание. Это тебе не токен аутентификации или что-то такое. Делать устаревание CSRF токена бессмысленно.
источник

AM

Alexander Makarov in Yii Framework 3
Ты только навредишь своим пользователям.
источник

AM

Alexander Makarov in Yii Framework 3
Иногда они будут получать ошибку вместо сабмита.
источник

AM

Alexander Makarov in Yii Framework 3
А профита ноль.
источник

AM

Alexander Makarov in Yii Framework 3
С безопасностью очень просто отстрелить себе ногу. И если мы уверены что правильно "вот так" и что по-другому точно хуже, то лучше не давать пользователю менять что-либо в этом плане. В этом случае я уверен что при маскировании 100% не надо ничего лишнего делать.
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
С безопасностью очень просто отстрелить себе ногу. И если мы уверены что правильно "вот так" и что по-другому точно хуже, то лучше не давать пользователю менять что-либо в этом плане. В этом случае я уверен что при маскировании 100% не надо ничего лишнего делать.
Если не надо, значит выпилить
источник

AM

Alexander Makarov in Yii Framework 3
ОК.
источник

СП

Сергей Предводителев... in Yii Framework 3
Я тогда и класс и интерфейс выпиливаю и жёстко в нужных местак вызываю хелпер для маски, так?
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Я тогда и класс и интерфейс выпиливаю и жёстко в нужных местак вызываю хелпер для маски, так?
да
источник

СП

Сергей Предводителев... in Yii Framework 3
ок
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Это странное желание. Это тебе не токен аутентификации или что-то такое. Делать устаревание CSRF токена бессмысленно.
Это не так. Если ты пишешь токен в сессию, то все формы в течение сессии будут проверятся по одному и тому же токену. При утечке токена из одной формы у злоумышленника будет возможность отправлять любые формы на все время сессии. Если мы делаем дополнительную маску с интервалом времени, то валидность токена будет ограничена этим интервалом.
источник