Безопасность URL, вызываемого через AJAX - PullRequest
3 голосов
/ 02 мая 2011

Как правильно заблокировать файл, вызываемый через AJAX? Как вы мешаете кому-либо напрямую позвонить по URL-адресу ответа и получить ответ?

Чтобы помочь объяснить, я буду использовать пример функции самовнушения; В частности, при вводе нескольких букв появится список всех участников, соответствующих этой фразе.

Итак, где-то в Javascript вы определяете URL-адрес "http://mysite.com? Code =". Тогда в скрипте поиска у нас есть

loginRequest.open("GET", url + characters, true);

и возвращает XML всех членов, у которых где-то в имени есть «символы». Что мешает хакеру ввести этот URL-адрес непосредственно в браузер и повторно отправлять новые фрагменты имен в попытке получить всю мою базу пользователей?

Ни один веб-пример, с которым я сталкивался, кажется, не решает эту проблему.

Я просто (неправильно) параноик?

Ответы [ 4 ]

2 голосов
/ 02 мая 2011

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

И, конечно же, этот действительный пользователь также может быть злонамеренным, поэтому вам следует тщательно спроектировать систему, чтобы исключить отправку каких-либо критических данных.

0 голосов
/ 02 мая 2011

с проверяемой пороговой проверкой / дроссельной заслонкой
и при нарушениях действуют какие-либо действия, такие как ввод кода или ложное информирование или просмотр
с зарегистрированными или незарегистрированными пользователями, как это делают Google и другие пользователи

0 голосов
/ 02 мая 2011

Если важна безопасность, не могли бы вы использовать идентификатор сессии и проверить его в своем обработчике ajax?

0 голосов
/ 02 мая 2011

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

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

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