|
|
|
Supreme Being
      
участник
Last Login: 28.10.2007 0:53
Сообщ.: 83,
Visits: 593
|
|
| Есть 2 страницы: одна запрашивает данные у другой (на разных серверах). Задача: дать эти данные только определенному серверу (логин\пароль не катят). Цель: однозначно определить вызывающую страницу и не дать данные для стороннего запроса. Какие использовать технологии или просто и банально какие серверные переменные учитывать?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.10.2007 0:53
Сообщ.: 83,
Visits: 593
|
|
| Добавлю: вызывающая платформа - PHP, вызываемая - ASP.NET. Вот на ASP.NET и надо определить, что вызов пришел именно с сайта site.ru , а не vasyapupkin.ru
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Смотри IP адрес с которого пришел запрос (Request.UserHostAddress). Если IP сайта фиксированный, то этого вполне достаточно. При желании можно преобразовывать IP адрес в имя хоста (Dns.GetHostByAddress) и проверять уже хост, а не IP-шник.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 12.10.2007 4:11
Сообщ.: 219,
Visits: 1 804
|
|
| А можно еще и URL проверить вызывающего скрипта через environment variable REMOTE_ADDR
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.10.2007 0:53
Сообщ.: 83,
Visits: 593
|
|
| REMOTE_ADDR, REMOTE_HOST и Request.UserHostAddress возвращают IP-адрес. Dns.GetHostByAddress по этому IP - возвращает название сервера-хостинга на котором расположен сайт, а не самого сайта. Получается, что разрешив одному сайту на этом хостинге доступ к данным другие сайты тоже смогут свободно им воспользоваться ... Возможно это происходит потому, что PHP работает от имени сервера хостинга и посылает с него запросы. Тогда вопрос: какую подобную защиту имеют WEB-службы для ASP.NET? Ну, почитал я немного о защите web-служб с помощью логина и пароля - а толку то в нашей стране от этого?? Итак: как более точно определить запрос с сайта site.ru , а не его хостинг? - или это не возможно?
|
|
|
|