Запретить прямой доступ к веб-службе JSON - PullRequest
2 голосов
/ 18 июня 2009

У меня есть веб-сервис, который используется для вставки части javascript на страницу. Javascript сканирует страницу на наличие определенной строки и делает запрос в мой ASP.NET JSON WebService. Затем JavaScript использует JSON для отображения некоторого контента.

В идеале я бы хотел, чтобы никто не получал прямой доступ к моей службе JSON.

Доступ к сервису осуществляется с помощью jQuery Ajax Request.

Возможно ли это?

С наилучшими пожеланиями, TheLorax

Ответы [ 2 ]

4 голосов
/ 18 июня 2009

Мой опыт в основном связан с PHP, поэтому вам, возможно, придется преобразовать концепцию в ASP.NET;)

Если код является частью того же веб-приложения (или на том же экземпляре сервера), и я хочу заблокировать его, так как он находится за системой аутентификации, я сохраняю переменную в сеансе, говоря, что пользователь аутентифицирован , Вы можете сделать то же самое с ASP.NET и состоянием сеанса. Зависит от того, имеет ли веб-служба или все, что обслуживает JSON, доступ к этому состоянию сеанса пользователя.

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

0 голосов
/ 18 июня 2009

Не совсем.

Если у вас есть известная группа пользователей, вы можете запретить другим пользователям получать доступ к вашему сервису путем выдачи ключа API или другого.Но ваши действительные пользователи смогут получить доступ к вашему JSON в любой удобной для них форме.

Вы можете попытаться запутать вещи, но это, вероятно, не стоит усилий.

И так как вы не можетеВ заключение, вы должны принять дух гибрида Web 2.0 и быть счастливым, если кто-то получит доступ к вашему сервису и представит информацию новыми, инновационными способами, о которых вы даже не задумывались.Это должно сделать вашу услугу более популярной.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...