Vlad
и не хранть в локалсторадже
Artur
его можно хранить в памяти твоего спа
Да, но тогда на каждый F5 придётся логиниться
Vlad
да
vitshev
CSRF
делают защиту с помощью токена
Vlad
допускание того, что компьютер скомпрометирован
Vlad
ты ничего не можешь сделать
Artur
Ну или хитрожопо поступать - при запуске спа ходить на один единственный урл который по куке выдаёт временный токен для спа, а во всех остальных местах проверять его
Vlad
против кейлогеров ты не защитишь свой сайт
Artur
допускание того, что компьютер скомпрометирован
Ну, httpOnly кука недоступна жабаскрипту
pier
делают защиту с помощью токена
зачем если можнл изначально токен другим заголовком передавать?
pier
Ну, httpOnly кука недоступна жабаскрипту
доступны любые действия с этой кукой зато
pier
Окей, если мы токен положим в локалсторейдж, то расширение к хрому вполне может его утянуть
хм, тогда можно генерировать два токена: один в куку httpOnly, второй в локалсторейдж и передавать в отдельном хедере. В таком случае, пользователь защищен от CSRF (потому что тогда передастся только 1 токен из куки, а второй нет) и от кражи токена из локалсторейджа расширением.
vitshev
запросы подписывать надо и все
vitshev
все хранится в куки, каждый запрос подписывается токен (созданным по правилам), при каждом запросе этот токе проверяется
Vlad
Ну, httpOnly кука недоступна жабаскрипту
форму без джаваскрипта можно засабмитить
pier
какие профиты от такой схемы?
Artur
форму без джаваскрипта можно засабмитить
Проверять на сервере и куку, и заголовок который js выставил.
Artur
Как @krkma предложил
vitshev
какие профиты от такой схемы?
защита от CSRF (да и вообще) это вполне стандартное решение, используют почти все
Vlad
овасп всё рассказывает
pier
защита от CSRF (да и вообще) это вполне стандартное решение, используют почти все
проблема с CSRF решается любым кастомным заголовком, не понимаю для чего тут подписи и прочий оверинженеринг
Anonymous
То есть, в случае с однооконным приложением, помимо рефреш токена и рабочего токена, для защиты от CSRF нужно хранить в куках ещё и третий токен-подпись? Не совсем понял вас. Что, если бэкенд, в принципе не читает куки у клиента напрямую? Что мешает использовать рабочий токен так же, как и подпись?
Славик
скоро пятница
Славик
надо размяться
Славик
нода многопоточна
Vadim
нода многопоточна
это надо в erlang чат вбрасывать, не сюда
Славик
дай ссылку
Vadim
дай ссылку
не имею
Славик
остается довольствоваться тем, что есть
Славик
да ладно
Славик
setInterval(function() { //thread code }, 1000);
Sergey
нода многопоточна
Опять вбрасываешь?
Sergey
setInterval(function() { //thread code }, 1000);
Прекращай уже. Глупо выглядит
Славик
ну вот что ты сразу
Славик
нормально же общались
Михаил
Господа, как вы пишете на js и живете с этим? Я тоже так хочу. )) По этому поводу есть пара вопросов: 1. Есть ли возможность убрать ассинхронность у функций mysql и писать человеческий код, а не гору вложенных функций. 2. Есть ли макросы или тому подобное, чем можно заменить гору кода на одну функцию? Пятьдесят повторяющихся блоков кода это зло, исправлять это зло - зло в квадрате.
Alexander
1. Для библиотек, использующих промисы щас есть async await
если либа не юзает промисы, ищи обертку. Но мне всегда казалось зашкваром
Alexander
есть promisify
погуглю, спасибо
Alexander
есть promisify
Ты о самом первом?
Sergey
npmjs.com/promisify
Михаил
А в sqlPool.getConnection(function(err, sqlcon){ sqlcon.release(); } обязательно вызывать sqlcon.release(); ? Или он сам может определить, что больше не нужен и вызвать соответствующую функцию?
Anonymous
async/await
Нет сначала пусть курит промисы. А потом уже это. А то потом ещё больше вопросов будет.
pier
Нет сначала пусть курит промисы. А потом уже это. А то потом ещё больше вопросов будет.
тогда он докурится до того, что сможет писать нормальный код просто на промайсах без всяких await, а значит фича языка останется незаюзанной!
Михаил
Промисы уже скурил. Выкинул нафик, вызываю одну функцию. Кстати, еще вопрос. Есть функция. Ее надо вызвать при выходе из функции. Как сделать, чтобы она вызвалась сама?
Михаил
Вызвать её.
Лень. Нужно вызывать в разных местах. Можно забыть.
Eugene
напиши фукнцию которая принимает функцию как параметр и выполняет ее, а потом уже нужную тебе функцию
Михаил
Объясни конкретнее.
Деструкторы в js есть? Которые должны вызываться при выходе из функции.
pier
выход == уничтожение объекта?
Artur
Деструкторов прям очень не хватает
Artur
Для объектов
Михаил
Деструкторов прям очень не хватает
И ни в каком виде их нет? Это казалось бы базовый функционал, который просто обязан быть. Может есть деструкторы не для объектов?
Artur
Нету. Нельзя отследить когда объект был собран GC
Чурка
Чурка
Электрон #ненужен.
Чурка
Дружу Ноду с WPF в порядке опыта.
Sergey
Есть жи чатег по электрону @electron_ru
Чурка
Так он тоже не нужен.
Чурка
Есть же WPF .-.