Denis
Ключ = хэш
Nikita
в смысле ты должен хэши сранивать, а не сами данные
Nikita
чтобы если редиску скопроментируют, тебе ключ не смогли подсунуть
Denis
Вряд ли, он да - можно и такой слой добавить)
Nikita
в смысле врядли? еще пароли plain-text храни))
Nikita
смысл в хешировании всего, что дает доступ в систему в том, что если данные утекут злоумышленник ничего с ними сделать не сможет
Michael
Аллё, какие хэши, тут про подпись
Michael
Изучите теорию
Denis
Подписи запросов :)
Anonymous
был тут блог интересный на эту тему
Anonymous
http://appsandsecurity.blogspot.com/2011/04/rest-and-stateless-session-ids.html
Denis
Если на более высоком уровне задача такая - защитить данные поисковой выдачи от crawling насколько это возможно.
Вижу решение такое - с результатами на первой странице, подставляем в пагинатор подпись (например &token=FoMPCRErjGnQNVmZ615JIuTcQ55FQZAD6A5dYdRFePqBypItDrUtu0) для следующего запроса, в ответ на который прийдут данные с новым ключом. В пагинаторе обновляем ключ на полученный.
Таким образом, мы можем контролировать RPS цепочки.
Anonymous
ну это не подпись
Anonymous
это csrf crumb
Anonymous
для этих наверное в редисе проще всего хранить и выдавать
Anonymous
убивать когда реквест с crumb пришел, или после экспайра
Denis
CSRF немного про другое, но близко, да)
Anonymous
можно заморочится наверное и модные алгоритмы с хешированием таймстемпа замутить :)
Denis
Задача не от CS, а в целом от краулинга
Denis
Хорошая идея на самом деле :)
Anonymous
https://github.com/koajs/stateless-csrf
Denis
Это в кластере :)
Denis
будет
Denis
И не должно использовать Cookie
Anonymous
ну тогда редис :)
Denis
https://github.com/petkaantonov/nodeperf
Denis
Кто уже поиграл с http://strapi.io/ ?
📀
Интересная задумка, поддерживаются сервисы на ноде и гоу
https://github.com/leveros/leveros
https://blog.leveros.com/introducing-lever-os-d10a857f210e#.d8iiphqcl
Denis
Скоро можно встраивать сервисы в USB-светильники
Denis
wow https://wicg.github.io/webusb/
Denis
Из чата @react_js
Denis
Кстати, господа, вот я давно хожу с мыслью, что надо два отдельных сервера: UI (рендера) и отдельно API (ну и еще пара вспомогательных для запуска фоновых процессов). Так вот вопрос, кто еще такой подход использует и как вы это все скрещиваете?
Denis
Я про это в докладах осенью и говорил. Мы клиентам делаем с микросервисной архитектурой. Пример сейчас проект - за nginx на разных роутах:
+ Корневой роут - Front-end Server (HTML Renderer)
+ Отдельный роут - микро-сервис на Golang, OSS решение для обработки и отдачи изображений
+ Отдельный роут - микро-сервис на C++, OSS решение для обработки данных
+ Отдельный роут - микро-сервис на Node.js для агрегации данных, оркестрации и балансировки внешних сервисов
Denis
Слайд 46: http://www.slideshare.net/denisizmaylov/isomorphic-react-applications-performance-and-scalability
Anonymous
Anonymous
главное именно nginx или что-то подобное на входе иметь
Anonymous
и не проксировать все через node
Denis
Я так делал ещё в 2002м :) У меня тогда MySQL отвечал за данные, PHP за HTML, Apache за статику
Denis
Node.js это memory leak да :)
Anonymous
@DenisIzmaylov хорошая презентация :)
Anonymous
я помню мы react.min.js запаковали и он нам больше результатов дал
Anonymous
и на удивление, когда стримили SSR респонс с сервера, иногда это получалось быстрее чем полный CSR с ServiseWorkers
Anonymous
потомучто SW одним чанком пытались сбросить весь лейаут :)
Vladimir
> и не проксировать все через node
Vladimir
это уже не микросервисы
dimchez
Anonymous
потом скрипты и все дела
Anonymous
потом лейаут, и пото отдельно json blob с данными
Denis
Это называется Progressive Rendering
Anonymous
ага
Denis
dimchez
Ага, спасибо. Так и планирую реализовывать - отдавать частями
dimchez
И части эти может на отдельных нодах ещё рендерить
Anonymous
они обычно в секвенции идут всеравно
Anonymous
и параллельность не спасет
Anonymous
иначе бы можно было весь кусок сразу флашить и было бы 20ms :)
Denis
LinkedIn рендерит на сервере только первый-второй скролл экрана, остальное уже с браузера догружается
Denis
Facebook только верхний Bluebar
Anonymous
facebook половину сайта рендерит на сервере :)
Denis
view-source:https://www.facebook.com/
Denis
вообще-то нет :)
Anonymous
ну оно не на реакте к сожалению
Denis
Да
Denis
BigPipe
Anonymous
если xhr посмотришь
Anonymous
там половина маркапа приходит с html
Anonymous
потом он инжектица
Denis
Это да :)
Nikita
так basecamp вроде еще делает
Nikita
оптимизация под мобильники)
Denis
А есть ссылка на их пост об этом?
Denis
или это исследования?
Anonymous
https://signalvnoise.com/posts/3112-how-basecamp-next-got-to-be-so-damn-fast-without-using-much-client-side-ui
Anonymous
я когда с рельс уходил, у них там в новой версии были какие то фишки.. где ты мог на сервере кусок haml/erb отрендерить и отправить через xhr
Nikita
просто на мобилке ресурсов меньше, virtual dom там держать - не комильфо
Denis
Крутой проект)
Denis
https://github.com/open-source-society/computer-science
Kanstantsin
В этом примере как раз https://github.com/erikras/react-redux-universal-hot-example - 1 сервер для ssr на node и 2й для api.