@react_js

Страница 4052 из 5115
Stepan
31.05.2018
21:59:39
Csrf с локалсторейджем не получится

me
31.05.2018
21:59:48
Там нет твоей сессии в куках

Stepan
31.05.2018
21:59:52
Т.к. он не бегает с каждым запросом

Artyom
31.05.2018
22:00:22
https://learn.javascript.ru/csrf

Google
Stepan
31.05.2018
22:00:57
Но если ты хранишь в обычной куке, а потом достаешь в js, и кладёшь ручками в запрос, то csrf тоже не проканает

Stepan
31.05.2018
22:01:24
ПОЧЕМУ?
Потому что сервер будет из тела запроса брать токен

А не из куки

Кука просто как хранилище

У нас токен в куке потому что ssr и надо чтобы сервер рендерил то же самое

Artyom
31.05.2018
22:02:38
И что мешает стороннему скрипту это симитировать?

Stepan
31.05.2018
22:03:01
При csrf атакующий не получает никаких данных

Он просто делает запрос, а твой сервак берет куку и авторизирует

При xss же чувак сможет получить именно value токена

Ну и тогда, конечно, вам пизда

Alan
31.05.2018
22:04:42
когда ты шлешь запрос к бекенду у тебя вместе с ним отправляется кука, локалсторадж никуда не отправляется. поэтому при csrf неожиданно для тебя могут твоими руками послать запрос к бекенду с которым убежит и твоя кука)

Google
me
31.05.2018
22:05:14
Абсолютно

Alan
31.05.2018
22:05:18
но от этого можно защититься, а вот от доступа сторонними скриптами к токену в локалсторадже не получится)

Stepan
31.05.2018
22:05:24
me
31.05.2018
22:05:33
Лучше хранить в хиден полях форм

Для сабмита

Так owasp советует делать

Но это всегда подходит

Stepan
31.05.2018
22:06:09
Лучше хранить в хиден полях форм
xss даст пизды все равно

me
31.05.2018
22:06:11
Поэтому это нормально хранить в локалсторадже

Alan
31.05.2018
22:06:23
csrf токен имеется ввиду наверно )

me
31.05.2018
22:06:26
Много серьезеых ресурсов так делает

Alan
31.05.2018
22:06:28
его хоть где храни )

me
31.05.2018
22:06:36
Именно

Alan
31.05.2018
22:06:47
при csrf ?

me
31.05.2018
22:06:57
Скрипт надо исполнить на станице твоего домена

Сначала надо xss успешно провернуть

Для такого

Google
Alan
31.05.2018
22:07:29
me
31.05.2018
22:07:36
Для этого реакт экоанирует все строки

Пользовательсклго ввода

Alan
31.05.2018
22:08:07
Для этого реакт экоанирует все строки
и этого тоже мало, сторонний скрипт в любой момент может прочитать твой локалсторадж

me
31.05.2018
22:08:11
Ващм где хочет там и храни

Если ты банк то под каждыц запрос выпускай токен

Одноразовый

И гоняй их туда сюда

Не храня вообще

Artyom
31.05.2018
22:09:14
В общем надо токен хранить в куке, но AES его ключем, который рандомно бекенд при инициализации прислал. При этом ключ, соответственно, держать в замыкании и использовать каждый раз при необходимости своих запросов. Все

Это ж реально важно

Alan
31.05.2018
22:10:05
хороший аргумент да)

Stepan
31.05.2018
22:10:47
Ты где раньше был с таким аргументом?)
Ну, скажем, серверу и не обязательно рендерить те части, которые user-specific

Но с этим геморно

Stepan
31.05.2018
22:11:49
Но с этим геморно
Потому что оно будет появляться только при клиентском рендеринге, как бы "прыгая"

Google
Stepan
31.05.2018
22:13:31
Ну типа сервер отрендерил без рекламного предложения, которое мы показываем только юзерам категории Х, а клиент уже только в componentDidMount полез и срендерил его

Alan
31.05.2018
22:13:48
redux-persist без дерганий делает

Stepan
31.05.2018
22:14:02
И получается сайт загрузился, а потом только появился баннер

А не сразу страница с баннером

Ну да ладно, это не сильно важно

Alan
31.05.2018
22:15:07
ну мб если кому то это очень существенно для задачи

Artyom
31.05.2018
22:15:35
Так, а для XSS и CSRF разницы в куках и локалсторадже нет?

Stepan
31.05.2018
22:16:39
Так, а для XSS и CSRF разницы в куках и локалсторадже нет?
Csrf возможен только если авторизация происходит СУГУБО посредством чтения кукисов из заголовка Cookies

Как, например, с http only кукой

Admin
ERROR: S client not available

Artyom
31.05.2018
22:17:03
Понял

Выходит HttpOnly не панацея

А вы говорили

Stepan
31.05.2018
22:17:39
Да, она подвергает csrf-атакам

Но они менее страшные, чем xss

Max
31.05.2018
22:17:56
Выбирая куки или локалсторадж нужно не забыть про один момент - реализовать авторизацию при загрузке гигабайтных файлов через локалсторадж не получится так что тут альтернатив кукам нет

Stepan
31.05.2018
22:18:51
Но они менее страшные, чем xss
Но xss в разы сложнее провернуть

Так что тут палка о двух концах

Google
Artyom
31.05.2018
22:19:32
Но xss в разы сложнее провернуть
Так xss и для кук и для локалсторадж страшен?

Stepan
31.05.2018
22:20:23
Так xss и для кук и для локалсторадж страшен?
Xss сработает если ты хоть как-то можешь из js получить значение токена

Http only кука - способ не иметь такой возможности

Но она подвергает csrf-атакам

Потому что вы ВЫНУЖДЕНЫ авторизовать через заголовок Cookies

Artyom
31.05.2018
22:21:46
Ок

Max
31.05.2018
22:21:50
пчму?
загрузить файлы можно двумя способами - через установку хедера Content-Disposition или через загрузку блобов через xhr/websoket-ы но только гигабайтные файлы через xhr/websocketы передать не получится а через Content-Disposition авторизироваться можно только через куки

Stepan
31.05.2018
22:22:23
К этому способу притензий нет?
Лишний запрос при инициализации, ssr

Alan
31.05.2018
22:22:28
а это про аплоад))

Stepan
31.05.2018
22:25:06
Просто зашифровав куку один раз неким ключом, расшифровать ты его сможешь только с тем же ключом

Abu
31.05.2018
22:25:08
так, где все-таки хранить токен то? к чему пришли?

Страница 4052 из 5115