Мне нужно получить данные из Site B
на стороне сервера Site A
.Чтобы сделать запрос к Site B
для получения данных, существуют куки, связанные с доменом Site B
, которые должны присутствовать.Поэтому я полагаю, что мне нужно сделать это в javascript с JSONP?
. Моя идея заключалась в том, чтобы использовать JavaScript, чтобы сделать запрос к B
, а затем захватить результат и прикрепить его к cookie на домене A
, напримерчто последующие запросы к A
будут переносить cookie с возвращенными данными (не имеет значения, что требуется два запроса к A
для получения информации на стороне сервера A
).Это будет хорошо работать, за исключением его полностью взломать.
Данные сами по себе не являются секретными, но мне нужно предотвратить подделку запросов или людей, которые Site A
вызывают функцию обратного вызова JSONP вручную или устанавливают cookie A
вручную с украденными или иным образом фальсифицированными данными.Кроме того, есть ли другая лазейка для взлома?Это также потребует предотвращения!
Единственный способ, которым я могу думать об этом, заключается в следующем:
Site A
генерирует случайный токен и сохраняет его в сеансе.Затем он добавляет этот токен к строке запроса JSONP к Site B
.Site B
затем отвечает, но шифрует обычные данные вместе с токеном с помощью цифровой подписи.Site A
затем вставляет это значение в файл cookie на A
.В следующем запросе к A
серверная сторона A
может перехватить cookie, получить значение, расшифровать его, проверить токен и, если он совпадает со значением в сеансе, доверять остальным данным.
Это звучит разумно?Есть ли более простой способ?Моя цель - уменьшить сложность в конце A
.
Спасибо