2012-06-07 5 views
0

Я создаю игру, для которой игроки могут создавать учетные записи, вы знаете, стандартную схему. Но я хотел бы полагаться исключительно на Javascript, как на стороне сервера (Node.js), так и на стороне клиента.Как отправить имя пользователя и пароль на сервер?

Мое основное средство связи с сервером, как правило, Socket.io, и я полагаю, что отправка паролей в виде открытого текста не является хорошей идеей, но я не знаю почему! Я имею в виду, может кто-нибудь нюхать трафик или что-то в этом роде? Как это происходит именно так? И что самое главное, каково решение этой проблемы?

Я знаю, что мне нужно сохранить пароли как хэши на стороне сервера.

+0

любой человек может нюхать трафик. пакеты отправляются через любую общедоступную сеть ... когда маршрутизаторы получают ее, и это не для их сети, они передают ее ... но вы можете использовать сниффер для захвата всего трафика. как правило, обнюхивание более распространено в беспроводных сетях, поскольку беспроводные передачи могут быть перехвачены гораздо проще, чем проводные ... но это значит, что снифер должен находиться поблизости от беспроводной сети. популярной техникой является захват сеанса - где снифферы находят идентификатор сеанса в HTTP-запросах (глядя на файлы cookie), а затем все, что им нужно сделать, это установить их значение cookie для захвата – Ian

ответ

2

Короткий ответ use HTTPS от creating your own SSL certificate.

Даже у GMail не было возможности до use HTTPS all the time до 2008 года. Я постоянно удивляюсь, насколько мы все еще не заботимся о безопасности.

Говоря об этом, соедините свои хэшированные пароли. Солить легко ... выбрать слово, любое слово. Приложите его к паролю и хешу. (т. е. SHA1 (пароль. mysalt)) Несколько человек имели some trouble with that recently. Добавление немного соли, по крайней мере, предотвратит легкую атаку радуги.

+0

prepend - не добавлять. также соль должна быть на пользователя, не «выбирай слово» –

+0

Удивительно, спасибо! – corazza

+0

Пожалуйста, объясните, @GoodPerson, зачем мне это делать? – corazza

Смежные вопросы