безопасный прокси веб-сервисов ajax / webservices - PullRequest
1 голос
/ 08 апреля 2011

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

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

как защитить свой веб-сервис (с прокси-сервером или без него)так что он обслуживает только запросы, которые приходят с моего сайта

я всегда могу использовать проверку http_referrer в моем прокси, но это легко взломать ...

есть ли надежный способ сделать это

1 Ответ

0 голосов
/ 08 апреля 2011

Один из способов реализовать это - использовать двустороннюю аутентификацию SSL для вашего сайта.

При двусторонней аутентификации SSL клиентское приложение SSL проверяет подлинность приложения сервера SSL.и затем приложение сервера SSL проверяет подлинность приложения клиента SSL.

Двусторонняя аутентификация SSL также называется аутентификацией клиента, поскольку приложение, действующее как клиент SSL, представляет свой сертификат серверу SSL.после того, как сервер SSL аутентифицирует себя на клиенте SSL.

Таким образом, перед выполнением любого запроса WS ваш WS сначала проверит, имеет ли ваш клиент действительный сертификат SSL или нет.Если этого не произойдет, WS не будет выполняться.Реализация двухстороннего SSL требует конфигурации на обоих концах и может быть немного сложна для реализации.Однако после настройки это действительно безопасный способ позвонить в ваш веб-сервис и убедиться, что только авторизованные клиенты (у которых уже есть сертификат) выполняют эти вызовы.Таким образом, ваш код AJAX может позвонить сервлету, который, в свою очередь, может позвонить в эту службу.Таким образом, ваш URL-адрес службы также не отображается браузером.

...