Вопрос

Одно из наших приложений будет запущено в iframe внутри отдела продаж, и у меня возникли проблемы с доступом к рефереру.Они хотели бы, чтобы мы провели несколько проверок рефералов, чтобы убедиться, что запрос поступает от отдела продаж и нам предоставлены IP-адреса для проверки.

Моя проблема в том, что каждый раз, когда я пытаюсь получить доступ к рефереру одним из следующих двух методов:

HttpContext.Current.Request.ServerVariables["HTTP_REFERER"]
HttpContext.Current.Request.UrlReferrer

он возвращает мне ноль.

Есть идеи, как я могу получить реферер?

ПС:Я знаю, что вы можете подделать реферера, но это часть требования.

Это было полезно?

Решение

Если я правильно понимаю вопрос, у вас есть клиентские сайты, которые ссылаются на ваш сайт путем встраивания IFrames в свои веб-страницы, указывая на ваш сайт.Вы хотите «убедиться», что запросы поступают с хост-страницы, которая сама является частью определенного набора сайтов.Набор обозначенных сайтов описывается набором IP-адресов.Это покрывает это?

Сложный.Прежде всего, предположим, что у вас есть реферер.Вам нужно будет получить от него имя хоста (достаточно легко, используя команду Uri тип).Затем вам нужно разрешить IP-адрес для имени хоста с помощью DNS (опять же не так уж сложно с .NET Framework).

Конечно, вам нужно получить реферера, и это самое сложное.Браузеры не всегда помещают в запрос заголовок Referer.Это особенно верно, когда адрес реферала не находится в том же домене, что и реферер, как в данном случае.ВАУ, это зрелище.

Лучшим подходом к решению этой проблемы (и не подверженным подделке) является использование аутентификации на основе хэша.Не должно быть слишком сложным (если исходные требования в любом случае считали, что реферерное тестирование достаточно).

Другие советы

Реферер присутствует только в том случае, если страница была запрошена по ссылке.Когда страница открывается, скажем, из адресной строки браузера, введя адрес напрямую (или, в вашем случае, установив параметр src.IFRAME), реферер будет пуст.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top