Size: a a a

2020 August 22

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
Какая разница, ты ж его все равно статическим методом хочешь получать, иначе в чем смысл статического свойста?
источник

СП

Сергей Предводителев... in Yii Framework 3
Смысл в том, что оно будет хранится даже если будут разные экземпляры CsrfToken.
источник

NO

Nex Otaku in Yii Framework 3
Логично было бы просто сгенерировать новый и в сессию записать. И из сессии достать во вьюхе.
источник

СП

Сергей Предводителев... in Yii Framework 3
И тогда интерфейс CsrfTokenInterface не нужен будет, как и хотели изначально. И работать будет даже с контейнерами, которые возвращают не синглтоны.
источник

СП

Сергей Предводителев... in Yii Framework 3
Nex Otaku
Логично было бы просто сгенерировать новый и в сессию записать. И из сессии достать во вьюхе.
подозреваю, что будут проблемы, например, когда несколько вкладок открыл. Токен будет разный каждый раз, что не правильно.
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
И тогда интерфейс CsrfTokenInterface не нужен будет, как и хотели изначально. И работать будет даже с контейнерами, которые возвращают не синглтоны.
Чем это отличается от полностью статического класса?
источник

NO

Nex Otaku in Yii Framework 3
Хорошее замечание. Надо смотреть как сделано в других фреймах, да хотя бы и на двойке
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
Чем это отличается от полностью статического класса?
Да ничем, можно и полностью статический
источник

СП

Сергей Предводителев... in Yii Framework 3
Но это же решение?
И интерфейс не нужен.
источник

DS

Dmitriy S in Yii Framework 3
Nex Otaku
Логично было бы просто сгенерировать новый и в сессию записать. И из сессии достать во вьюхе.
Это как, интересно?)
источник

NO

Nex Otaku in Yii Framework 3
Кот, не прицепляйся ) Я CSRF сто лет не делал, тонкостей не упомню.
источник

NO

Nex Otaku in Yii Framework 3
Мне ясно только одно. Решение достаточно простое и однозначное, без шаманства и костылей определённо существует.
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Но это же решение?
И интерфейс не нужен.
а котейнер там зачем тогда? Мы можем всегда сделать new CsrfToken->getValue()
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
а котейнер там зачем тогда? Мы можем всегда сделать new CsrfToken->getValue()
Контейнер для CsrfToken не нужен
источник

СП

Сергей Предводителев... in Yii Framework 3
CsrfToken::setValue и CsrfToken::getValue использвоать
источник

DS

Dmitriy S in Yii Framework 3
Сергей Предводителев
Контейнер для CsrfToken не нужен
А почему бы его тогда прям во вьюхе не юзать, зачем инъекция?
источник

СП

Сергей Предводителев... in Yii Framework 3
Dmitriy S
А почему бы его тогда прям во вьюхе не юзать, зачем инъекция?
чтобы ручками не писать мета-тег например
источник

СП

Сергей Предводителев... in Yii Framework 3
Хотя... наверное да. Можно и без инъекции.
источник

СП

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

СП

Сергей Предводителев... in Yii Framework 3
По-моему красиво вышло :)
источник