В настоящее время я создаю веб-страницу с игрой с использованием холста html5 и веб-узлов. У меня есть сервер websocket, написанный на Perl, запущенный на сервере: 3000. На сервере я также установил apache и создал веб-сайт, который пользователь может посетить: http://server/. javascript на этой странице создает websocket для ws://server: 3000
Соединение работает, и я могу отправлять сообщения из своего браузера и получать ответы, все показанные в div на данный момент. Сообщения, которые я отправляю, на данный момент являются только "message:...", поэтому сервер знает, что это сообщение и выводит "..." всем пользователям, которые в настоящее время подключены к "игре".
Теперь проблема заключается в том, что любой может написать свой собственный клиент, который будет подключаться к ws://server: 3000 и отправлять/получать соответствующие сообщения. Таким образом, они будут использовать мой backend, но не мой клиент (я бы хотел, чтобы они играли только из http://server/).
Как я могу убедиться, что используется только мой клиент? Главная проблема - обманывать. Вы можете написать бота, который подключается к порту и играет за вас, отправив сообщения и проиндексируя те, которые он получает... Как преодолеть эту проблему?