Итак, я ищу приложение для графического чата/веб-сайт (пользователи сидят в комнате в 2D аватарах и чате) и из всех исследований, которые я сделал до сих пор (много!), стек LAMP, похоже, подойдет мне для большей части сайта, с некоторыми протоколами node.js и websocket, которые используются для обработки фактических данных чата (пользовательских сообщений и т. д.). Я не очень разбираюсь в создании чего-либо из этого объема (я больше привык к работе с интерфейсом), но пока это интересная задача!WebSockets и HTTP-безопасность с общим сеансом и аутентификацией пользователя
Моя проблема заключается в том, что я не могу найти много информации о проверке информации пользователя. Я прочитал, что веб-порты по своей сути довольно небезопасны, и хорошо проверить источник отправляемых данных ...
Я, однако, обеспокоен тем, что это фактическая идентификация пользователя. Если я использую Javascript для инициирования подключения к сокету, как мне запретить пользователю «спуфировать» любую информацию? Можно ли подключить данные сеанса PHP пользователя к серверу, обрабатывающему соединения с веб-сайтами, чтобы Javascript не обрабатывал ничего, кроме фактического текста сообщения?
Например, если я вошел в систему как «Крис» и отправил сообщение «Привет!». или изменил образ моего аватара, я бы хотел, чтобы клиентская сторона обрабатывала URL-адрес «Hello» или URL-адрес изображения аватара и сохраняла всю другую информацию, передаваемую туда и обратно, такую как имя пользователя на стороне сервера, чтобы кто-либо из возиться с клиентским кодом.
Хороший ответ. Вы не должны поддерживать поддержку HTTP-аутентификации (например, HTTP Basic) в современных браузерах. Это означает, что вам нужно реализовать некоторую логику аутентификации поверх уровня веб-сокета. – bodokaiser
Я использую, чтобы избежать какой-либо проверки подлинности в WebSockets и делать это раньше в HTTP, используя некоторые OAuth или аналогичные методы, как только это будет сделано - пользователь сеанса создается, и только после того, как WebSockets установит соединение, вы восстановите сеанс и проверьте, аутентифицировано - если нет, отключите, если да - отлично, вы в безопасности. – moka
Умный обходной путь! Я лично стараюсь избегать государственной серверной стороны, но хорошая идея :) – bodokaiser