Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Подписка на события сервера (https://javascript.ru/forum/offtopic/51161-podpiska-na-sobytiya-servera.html)

cyber 27.10.2014 00:27

Подписка на события сервера
 
есть nodejs сервер, на нем выполняется парсинг данных и обработка событий, нужно сделать что бы другой сервер мог подписатся на эти собитя. Как это можно красиво реализовать?

cyber 27.10.2014 03:55

Еще вопрос не совсем по теме, но не хочу новую делать.
На основе некоторых свойств объекта хочу создать уникальный id, хочу использовать md5, делать так или есть более быстрыее варианты?
Интересует только скрость.

kobezzza 27.10.2014 07:28

Цитата:

Сообщение от cyber (Сообщение 337737)
есть nodejs сервер, на нем выполняется парсинг данных и обработка событий, нужно сделать что бы другой сервер мог подписатся на эти собитя. Как это можно красиво реализовать?

Также как и браузер с сервером: вяжешься по сокетам, реализуешь обсёрвер и т.д.

Гугли push notifications

cyber 27.10.2014 10:59

kobezzza, Спасибо

cyber 27.10.2014 19:39

kobezzza, Еще вопрос,а как сделать безопасную авторизацию с проверкой пароль, что бы мог подключится только сервер который знает пароль?

kobezzza 27.10.2014 23:27

Цитата:

Сообщение от cyber (Сообщение 337884)
kobezzza, Еще вопрос,а как сделать безопасную авторизацию с проверкой пароль, что бы мог подключится только сервер который знает пароль?

Ну также, как и в случае браузера и сервера :) В момент установки коннекта проверяй логин и пароль, потом выдавай сессионный ИД. Кстати существует много сервисов уведомлений, я, например, использую Pusher.

https://www.npmjs.org/package/pusher-client

cyber 28.10.2014 18:51

Цитата:

Сообщение от kobezzza
Ну также, как и в случае браузера и сервера В момент установки коннекта проверяй логин и пароль, потом выдавай сессионный ИД. Кстати существует много сервисов уведомлений, я, например, использую Pusher.

https://www.npmjs.org/package/pusher-client

Я так пониаю эта штука работает через их сервер и отправляет уведомления всем кто подписан?)
Но я делаю проект так сказать для себя и свободное время, поэтому буду использовать бесплатные варианты)
Делаю сейчас в связке https://github.com/Automattic/socket.io-client + http://socket.io/

kobezzza 28.10.2014 18:58

Цитата:

Я так пониаю эта штука работает через их сервер и отправляет уведомления всем кто подписан?)
Угу, там кстати есть бесплатный тариф, если что.

Цитата:

Но я делаю проект так сказать для себя и свободное время, поэтому буду использовать бесплатные варианты)
Ну я просто сказал, что таких сервисов очень много, вдруг когда нибудь понадобится.

cyber 28.10.2014 19:02

kobezzza,тариф видел, за сервис спасибо выглядит интересно.

cyber 28.10.2014 19:40

kobezzza, еще вопрос безопасности, как сделать защищенное соединения если не использвуя https, или для варианта сервер - сервер он не нужен?

kobezzza 28.10.2014 20:08

Цитата:

Сообщение от cyber (Сообщение 338103)
kobezzza, еще вопрос безопасности, как сделать защищенное соединения если не использвуя https, или для варианта сервер - сервер он не нужен?

HTTPS = HTTP + SSL, т.е. никто тебе не мешает юзать SSL или SSH отдельно.

http://nodejs.org/api/tls.html

Нужно это дело, чтобы если вдруг перехватят пакет, то не смогли его расшифровать (ну или усложнить им жизнь), но нужна ли тебе такая защита уже решай сам :)

cyber 28.10.2014 20:23

Цитата:

Сообщение от kobezzza
Нужно это дело, чтобы если вдруг перехватят пакет, то не смогли его расшифровать (ну или усложнить им жизнь), но нужна ли тебе такая защита уже решай сам

Я знаю)

cyber 28.10.2014 20:29

kobezzza,
Я хочу сделать авторизацию через ssl, все остальное по http

cyber 04.11.2014 01:14

Стоит ли использовать md5 для создания id на основе некоторых полей объека??

kobezzza 04.11.2014 08:29

Цитата:

Сообщение от cyber (Сообщение 338927)
Стоит ли использовать md5 для создания id на основе некоторых полей объека??

md5 не стоит юзать никогда.

Если речь о создании хеша для пароля, то используй:

http://nodejs.org/api/crypto.html#cr...eylen_callback

Количество итерация не меньше 5к (у меня стоит 10к). Размер ключа 256 или 512 (надёжнее).

Соль генерировать можно через

http://nodejs.org/api/crypto.html#cr...ize_callbac k

У меня стоит 32 байта длина.

***

Если речь о простом хешировании, то

http://nodejs.org/api/crypto.html#cr...hash_algorithm

SHA как вариант, размер ключа зависит от требований.

melky 04.11.2014 10:29

Цитата:

Сообщение от kobezzza
Если речь о создании хеша для пароля, то используй:

How To Safely Store A Password

Цитата:

Сообщение от kobezzza
Если речь о простом хешировании, то

вау, сумашедшая вещь

cyber 04.11.2014 14:02

Цитата:

Сообщение от kobezzza
md5 не стоит юзать никогда.

почему?)

kobezzza 04.11.2014 15:53

Цитата:

How To Safely Store A Password
Дык, pbkdf2 (на который я дал линк выше и который входит в базовое АПИ ноды) стандарт де факто для паролей.

В статье написано, что такие хеш функции нельзя юзать, т.к. они очень быстрые, НО в pbkdf2 есть параметр iteration, в котором задаётся кол-во раз, сколько применится хеш функция + соль, т.е. данная функция специально создана для генерации хешей паролей.

Цитата:

почему?)
Функция признана устаревшей и поломанной и не рекомендуется к использованию нигде.

cyber 05.11.2014 21:45

kobezzza, я так понемаю в phantomjs не передать модуль crypto, и нужно брать реализацию на js?

kobezzza 05.11.2014 21:54

Цитата:

Сообщение от cyber (Сообщение 339246)
kobezzza, я так понемаю в phantomjs не передать модуль crypto, и нужно брать реализацию на js?

У phantomjs есть биндинги для ноды

https://github.com/sgentle/phantomjs-node

cyber 05.11.2014 22:12

kobezzza, да знаю, но уже позно, мне только хэш остался)

cyber 05.11.2014 22:16

kobezzza, Взял реализацию sha1 на js и спомощью injectJs подключил

cyber 08.11.2014 19:20

Как лучше разделить события для серверов для разных регионов, пока остановился на тамком варианте [region] + [event] -> "ruUpdate", или есть боле правильный вариант?

События для вебсокетов между серверами

trikadin 21.11.2014 05:08

Цитата:

Сообщение от kobezzza
Если речь о создании хеша для пароля, то используй:

http://nodejs.org/api/crypto.html#cr...eylen_callback

Количество итерация не меньше 5к (у меня стоит 10к). Размер ключа 256 или 512 (надёжнее).

О, интересная штука, и как я пропустил-то её. Надо заиспользовать.


Часовой пояс GMT +3, время: 03:50.