Вообще плюсы всеравно есть. Время жизни токена 1 запрос. Соответственно сделать много плохо не успеешь. В нашем случае так же обстоит вопрос с логином и паролем.. Если его узнают не важно поменял ты его или нет, узнают еще раз как узнали в предыдущий. Вообще поэтому я и писал. --- Добавлено --- @Maputo, токен нужно слать POST запросом, иначе смысла вообще в нем нету. )
@mahmuzar, а POST-запрос для получения токена посылает скрипт, который загружается с помощью GET-запроса? Где-то в этой цепочке всегда будет не защищенный GET. И тогда про токен можно смело сказать, что
@Fell-x27, пользователь заходит на сторонний сайт, с которого отправляются от его имени запросы. Так?
Так. А теперь скажи, при чем тут геты, если через них, у хорошего разработчика, осуществляются только read-only запросы?
Как? Чье поле ты читать собрался? Его значение специфичное для каждого пользователя. Если ты сделаешь CSRF на чтение, то, лично ТЫ, ничего не получишь. Жертва выполнит твой гет и она же получит ответ В это суть CSRF-атаки. Жертва все делает сама. Атакующий не принимает в ней прямого участия. По этому CSRF-атака на read-only GET-ы не имеет смысла как таковая.
Я так понимаю жертва - это браузер жертвы? Если гет приходит в него - его можно спарсить ява-скриптом. Или я опять не в ту сторону думаю?
@Maputo тут был простой пример, что поначалу для удаления аккаунта в ВК достаточно было перейти по ссылке. Удалить можно только свой аккаунт. И ты пострадаешь, если кто-то тебе даст такую ссылку и ты по ней перейдешь. А если написать HTML: <img src="ссылка-с-действием"> и вставить на посещаемый сайт, например типа картинку в форум, то это действие будет выполняться у всех, кто будет просматривать страницу. Потому что их браузер отправит запрос. Это частный случай CSRF.
@[vs], это все понятно. Действие и должно выполняться на стороне клиента. Но почему я не могу выполнить гет запрос и принять данные с помощью яваскрипт?
@Maputo потому что это запретили разработчики Netscape Navigator в 1995 году, а в 2011 правила same-origin policy вошли в RFC 6454
@[vs], я так думаю все уже устали от этой темы) Лично я уже определился с токенами и не хочу никого вводить в заблуждение.
форма посылает пост запрос с токеном. левый сайт не сможет послать пост запрос, не зная токена. Тупо парсить будет ? у каждого своя сессия ( свой проверочный токен )
Есть ли смысл в продолжении. Пусть обсуждение и не переросло в полный холивар, но надеялся я на немного другое, например, на то что будет дана некая оценка, что-то в этом роде: 1. При одном токене на сессию, при условиях А, Б и В, есть риски Г, Д и Е соответственно. Со свое стороны, я бы мог прикинуть, что, например, условия А и Б я могу проконтролировать, а условие В - нет и риск Е остаётся висеть "дамокловым мечом". 2. При одноразовом токене риски уменьшаются, но возникает ряд других проблем Ж, З и И И в этом случае, можно было бы прикинуть хрен к носу и понять, с чем могу столкнуться. Однако, несколько полезных выводов я всё-таки для себя сделал.
Парни, использую в форме CSRF токен. Живет минуту +-. Использую в формах (регистрация, авторизация и т.д.) Каждый запрос, новый токен. Вопрос: Правильно ли я делаю? Есть ли от этого смысл?
Да, нормально, там главный посыл, что без валидного токена запрос не проходил, чтобы с другого сайта нельзя было выполнить запрос например на изменение пароля, выход, перевод денег и т. д.
Открой три страницы, посиди минуту на одной, минуту на другой. Поплюйся от ошибок, связанных с протуханием токенов, сделай выводы.
Дада, ты пользователю живому это скажи по успевать ибо нех. Вот я щас на форуме 12 страниц открыл. Расслабона вечернего ради. В каждой есть форма ввода. Мне нужно за минуту все 12 прочитать, и, по возможности, успеть отписаться везде? По твоей логике так выходит? Ты для пользователя делаешь сайт. Все эти вот протухающие за минуту токены - это никому не нужный излишний геморрой, серьезно. Токен - это чугунный монолитный замок на воротах. А эти все припарки - это гирлянда чеснока, чтобы вампиров от него отпугивать, ну мало ли. А еще живая мышь, чтобы отпугивать слонов. На всякий случай. И моча скунса в колбочке, которая разбивается от удара молоточком, который опрокидывается и бьет по колбе, если тронуть волосок, приклеенный к связке чеснока. Тоже на всякий случай. Ну а чо, хуже не будет. УХХХХ, ЗАЩЩЩИТИЩЩЩА. И пофигу, что этот колхоз - не более, чем излишнее усложнение системы, основным компонентом которой является чугунный монолитный замок, который что с этими припарками, что без них хрен снимешь.