Сигурността в WebSockets

  • Node.js
  • гнезда
  • Socket.io

Как да се предпазите от съединението на WS?

1. произход проверка.
По този начин, можете да предотвратите свържете от различни домейни, протоколи и т.н.

Но какво, ако връзката се осъществява с упълномощен достояние, но препращане на пакети се извършва от един нападател?

Как да го направите:
Във всеки браузър има конзола. Отивате в него и ще бъде на страницата Разрешения, можете да създадете нова връзка през него и да изпрати пакети ръчно, като по този начин да смаже на сървъра, като синтактично атака.

Как да се избегне това?

Можете да проверите всяко съобщение съобщение. Тази проверка ще се извършва за всеки пакет от всеки потребител. И ако много пакети (онлайн игра), и много потребители, тя създава допълнителна тежест!
По този начин, ако opensorsny на проекта, винаги ще имате възможност да се ровя в изходния код, и със сигурност намери дупка

Мисля, че най-добрият вариант - да се филтрира връзки по време на ръкостискането (ръкостискане).
Но как да го направя?

Бих искал да се реши проблема на ниво vebsoketov, но като толкова не разбрах ((