как заблокировать вызовы AJAX для службы ASHX / WCF в домене, чтобы остановить сбор данных - PullRequest
0 голосов
/ 17 февраля 2010

Можно ли ограничить доступ службы ASHX или WCF только к вызовам AJAX из вашего собственного домена?

Чтобы улучшить производительность сайта, мы хотим использовать полный подход jQuery & MS AJAX 4.0, однако представление наших розничных данных через сервис ASHX или WCF значительно упрощает сбор данных нашими конкурентами.

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

Может ли приложение для Windows работать напрямую с сервисом и все еще собирать урожай?

Похоже на еще один компромисс между производительностью и безопасностью !! Вздох

Любые предложения будут полезны.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 18 февраля 2010

То, что вы просите, не может быть сделано. Любые данные, доступные на вашем общедоступном веб-сайте, независимо от того, предназначены ли они для вызова из браузера или через AJAX, могут быть удалены. Вы можете попытаться запутать ваш Javascript и данные или использовать CAPTCHA, но это можно обойти. Регулирование также является лишь незначительным сдерживающим фактором, поскольку злоумышленник может обрабатывать свои запросы или использовать несколько прокси.

По сути, после того, как вы разместите его в Интернете, оно станет общедоступным.

0 голосов
/ 15 июля 2014

Вы можете использовать зашифрованный параметр. Текущее время сервера будет хорошим параметром.

MyService.ashx?parameter=<encrypted date time>

В вашем ашх проверьте параметр, чтобы увидеть, присутствует ли он, и текущее ли время, если не газ, и верните пустую страницу. Разрешить несколько секунд, хотя.

Это предотвратит вызов вашей службы напрямую с харвестера, но не предотвратит сбор вашего сайта сканером.

...