Страница 1 из 1

Почему logout post?

Добавлено: 2020.03.22, 11:02
Brainfuck
Мне стало интересно почему в стандартном шаблоне yii2 метод logout всегда прописан как POST? Это дает какую-то защиту что-ли дополнительную? Почему он не может быть обычной GET ссылкой? Не, ну понятно что там еще confirm с подтверждением выхода - это удобно и полезно, но для этого не обязательно делать метод POST. В чем тут прикол?

Re: Почему logout post?

Добавлено: 2020.03.22, 11:09
yiiliveext
csrf

Re: Почему logout post?

Добавлено: 2020.03.22, 11:12
Brainfuck
yiiliveext писал(а): 2020.03.22, 11:09csrf
А более подробно? Я знаю что csrf нужен для защиты запросов от подделки, но что такого конкретно в логауте? Он же не опасен. Это просто разлогин, а не кража каких-то данных...

Re: Почему logout post?

Добавлено: 2020.03.22, 11:30
yiiliveext
Относительно безопасен. В любом случае, перейдя по ссылке на стороннем ресурсе разлогинится в приложении - это несанкционированное действие. Представьте например ситуацию, когда в системе разрешен только один сеанс для каждого пользователя, а хакер добыл ваши логин и пароль, но не может зайти в систему, потому что вы там залогинены. Что он сделает? Правильно, заставит вас перейти по замаскированной ссылке и если у вас там GET, то вот он уже в системе, а вы туда зайти не можете. Теперь уже не кажется таким безопасным?

Re: Почему logout post?

Добавлено: 2020.03.22, 12:10
Brainfuck
yiiliveext писал(а): 2020.03.22, 11:30 Относительно безопасен. В любом случае, перейдя по ссылке на стороннем ресурсе разлогинится в приложении - это несанкционированное действие. Представьте например ситуацию, когда в системе разрешен только один сеанс для каждого пользователя, а хакер добыл ваши логин и пароль, но не может зайти в систему, потому что вы там залогинены. Что он сделает? Правильно, заставит вас перейти по замаскированной ссылке и если у вас там GET, то вот он уже в системе, а вы туда зайти не можете. Теперь уже не кажется таким безопасным?
Пожалуй это имеет смысл! Спасибо за объяснение

Re: Почему logout post?

Добавлено: 2020.03.22, 15:15
ElisDN
<img src="/site/logout" />