Получить домен сайта, запрашивающий доступ к другому сайту - PullRequest
0 голосов
/ 24 апреля 2018

У меня есть 2 разных сайта, которые нужно интегрировать.Давайте назовем их, Web1 и Web2.Я хочу проверить, является ли запрашивающий Web1 действительно Web1, прежде чем разрешить любой доступ к Web2.

Request.Url.Host получит только домен текущего веб-сайта.Что мне нужно, это проверить домен Web1 внутри кодов Web2 C #.

В настоящее время я так называю Web2 из Web1.

$("#btn").click(function() ( 
    window.location.href = "http:\\Web2.com\Test"
)}

Спасибо

1 Ответ

0 голосов
/ 24 апреля 2018

URL-ссылка и заголовок источника могут быть подделаны.Так что это ненадежно.

Единственный способ убедиться, что я могу приблизиться к надежному решению, - это добавить межсерверную связь для выполнения переключения между двумя приложениями.

Таким образом, в вашем событии клика произойдут следующие вещи:

  1. Браузер выполняет AJAX-вызов Web1, чтобы запросить URL для Web2
  2. Web1 выполняет HTTP-вызов (изсервер) на Web2
  3. Web2 возвращает уникальный URL-адрес (например, http: \\ Web2.com \ FromWeb1 \ 8247983659 (или, возможно, с GUID, что вы хотите)
  4. Web1 возвращаетуникальный URL-адрес для браузера
  5. Браузер перенаправляет пользователя на уникальный URL-адрес
  6. Web2 проверяет, что использованный URL-адрес является тем, который он сгенерировал, и, таким образом, знает, что пользователь пришел из Web1

На шаге 2 вам все равно потребуется некоторая аутентификация, чтобы Web2 знал, что Web1 выполняет вызов, но по крайней мере эта аутентификация не предоставляется браузеру.

...