mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-21 00:54:53 +08:00
Merge pull request #8371 from SilverFire/patch-1
Updated Russian guide "security best practices" [skip ci]
This commit is contained in:
@@ -143,11 +143,9 @@ CSRF - это аббревиатура для межсайтинговой по
|
||||
Например, сайт `an.example.com` имеет URL `/logout`, который, используя простой GET, разлогинивает пользователя. Пока
|
||||
это запрос выполняется самим пользователем - всё в порядке, но в один прекрасный день злоумышленники размещают код
|
||||
`<img src="http://an.example.com/logout">` на форуме с большой посещаемостью. Браузер не делает никаких отличий
|
||||
между запросом изображения и запросом страницы, так что когда пользователь откроет страницу с таким тегом `img`, он
|
||||
разлогинится с сайта `an.example.com`.
|
||||
между запросом изображения и запросом страницы, так что когда пользователь откроет страницу с таким тегом `img`, браузер отправит GET запрос на указанный адрес, и пользователь будет разлогинен.
|
||||
|
||||
Вот основная идея. Можно сказать, что в разлогировании пользователя нет ничего серьёзного, но отправить POST не намного
|
||||
сложнее.
|
||||
Вот основная идея. Можно сказать, что в разлогировании пользователя нет ничего серьёзного, но с помощью этой уязвимости, можно выполнять опасные операции. Представьте, что существует страница http://an.example.com/purse/transfer?to=anotherUser&amout=2000, обращение к которой с помощью GET запроса, приводит к перечислению 2000 единиц валюты со счета авторизированного пользователя на счет пользователя с логином anotherUser. Учитывая, что браузер для загрузки контента отправляет GET запросы, можно подумать, что разрешение на выполнение такой операции только POST запросом на 100% обезопасит от проблем. К сожалению. это не совсем правда. Учитывайте, что вместо тега <img>, злоумышленник может внедрить JavaScript код, который будет отправлять нужные POST запросы на этот URL.
|
||||
|
||||
Для того, чтоб избежать CSRF вы должны всегда:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user