Комментарии 6
const sanitizedInput = input.replace(/</g, '<').replace(/>/g, '>');
Имелось ввиду
const sanitizedInput = input.replace(/</g, '<').replace(/>/g, '>');
?
Да, конечно. Спасибо, уже исправил
Есть же Sanitizer API
спасибо за статью, очень интересный контент)
Недавно читал статью про выступление на хайлоад 2017 (достаточно старую, но кажется всё ещё актуальную статью), https://habr.com/ru/companies/oleg-bunin/articles/412855/, в которой описываются варианты обхода csrf защиты.
Судя по статье с хайлоада - если есть xss уязвимость, то использование cookie (равно как и localstorage), для хранения токенов, становится небезопасным (куки можно угнать обойдя csrf защиту). И вроде получается, что основная защита от угона токена это как раз защита от внедрения чужого кода в своё приложение - csp/cors. т.е. будто бы не важно какой способ хранения токена выбрали - если словили xss, то имеем большой риск потери токена (пока срок его хранения не истёк).
Если будет время/желание - было бы интересно услышать ваше мнение, актуальны ли данные проблемы с обходом csrf (и как следствие доступа к кукам) и сталкивались ли вы на практике с тем, что несмотря на защитные меры по csrf атакам, они не срабатывали
Заранее благодарю)
Спасибо, статья занимательная и до сих пор актуальная!
Что касается защиты, важно помнить о двусторонней безопасности. Да, можно накосячить на фронте, но у нас есть еще и бек. Подвожу к тому, что и рекомендуется в статье - использовать SameSite Cookies
, но это обоюдная ответственность :)
Сейчас осуществляется полная поддержка в современных браузерах. Старые версии в расчет не берем (IE мне иногда снится и я вздрагиваю)
Обеспечение безопасности Frontend приложений