Сервер A является стандартным веб-сервером apache/php. Он поставляет HTML/Javascript в браузер, который подключается к серверу B (сервер node.js) с помощью веб-узлов.Мои логики javascript/html и node.js находятся на разных серверах - они могут безопасно взаимодействовать?
Это выглядит следующим образом: Сервер HTTP (request->) Браузер (websockets->) Сервер B
Есть ли способ, чтобы проверить на сервере B, что Сервер является источником запроса?
Насколько я понимаю, HTTP-референт можно легко подделать. Я думал о том, что PHP выдает одноразовый токен, чтобы код javascript мог подтвердить его личность, но взломать его было бы так же просто, как загрузить подлинную страницу с отключенным javascript и извлечением токена.
Это действительно не область компетенции для меня, поэтому я буду благодарен за любой совет - спасибо! :)
Просто для подтверждения, сервер A подключается к серверу B - к какому серверу подключается пользователь? –
Предварительно разделяемые секреты, шифрование, цифровые подписи и общедоступные/закрытые ключи, есть много способов защитить канал, когда он находится в точке. Возможно, двум серверам необходимо связываться друг с другом напрямую или доверенной третьей стороной для установления доверия. Если в середине есть клиент, который может манипулировать запросами в каком-то «хакерском» способе, тогда все гораздо сложнее. Если вы защищаете полезную нагрузку и защищаете ее от несанкционированного доступа, то не имеет значения, что делает клиент (кроме того, что они могут отказаться от отправки). – WiredPrairie
@ ZackNewsham - извините, я не был ясен. Сервер A обслуживает страницу HTML/Javascript для пользователя, который затем подключается к серверу B через веб-узлы. Я хочу проверить, что сервер A был источником запроса на сервере B. – CJX