как проверить IP браузера для серверного веб-сервиса - PullRequest
0 голосов
/ 09 марта 2010

У меня есть веб-сервис, который должен иметь возможность проверить IP-адрес конечного пользователя, который вызвал серверный скрипт, запрашивающий веб-сервис. Простое расположение:

Лицо A переходит на веб-страницу B. Веб-страница B вызывает веб-службу C для получения некоторой информации о лице A. Веб-служба C не предоставляет веб-странице B запрашиваемую информацию без подтверждения того, что запрос исходил от IP-адреса лица A, а не от лица, украл сессию Лица А.

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

У меня есть две проблемы, но сначала я остановлюсь на более неотложной:

Я не уверен, действительно ли мой план на основе браузера имеет смысл. Если кто-то украдет файл cookie сеанса, как веб-служба узнает об этом? Будет ли этот файл cookie храниться на веб-странице B и, следовательно, его будет сложнее украсть? Является ли обоснованным предположение, что cookie или ключ, хранящиеся только на сервере, а не в браузере, безопасны?

Кроме того, будет ли веб-служба, основанная на начальном соединении iframe, ожидать комбинированный сервер / user-ip? Я имею в виду, хранится ли сеансовый ключ, предоставленный через iframe, веб-службой, а веб-сайт B показывает, что он соответствует? Или ключ сеанса является более общим, то есть веб-сервис передает ключ через веб-сайт B, и веб-служба проверяет, является ли это действительным ключом сеанса, на основе того, как должен выглядеть действительный ключ сеанса?

1 Ответ

0 голосов
/ 09 марта 2010

Почему бы не иметь Цифровой сертификат для вашего пользователя. Сертификат передается, когда клиент запрашивает веб-сервис. Веб-служба проверяет наличие цифрового сертификата и реагирует соответствующим образом. Цифровые сертификаты имеют значительное преимущество по сравнению с блокировкой IP. Как и при аутентификации пользователя, проверка безопасности цифровых сертификатов не происходит до тех пор, пока фактически не будет выполнен вызов веб-метода. Таким образом, посетители по-прежнему могут просматривать страницы WSDL для веб-служб или связанных веб-страниц.

...