Как AJAX может подтвердить пользователя? - PullRequest
1 голос
/ 05 декабря 2010

Когда пользователь находится на странице, вы можете использовать сеанс или файлы cookie, чтобы проверить, кто он.

Но когда AJAX используется, например, для отправки ответа, отправляющая страница не имеет контакта с пользователем.Как он может проверить, является ли он действительно зарегистрированным пользователем, или просто спамбот, отправляющий это по заголовкам?

Какова обычная практика для проверки пользователя AJAX?

1 Ответ

5 голосов
/ 05 декабря 2010

AJAX-запросы содержат те же куки, что и обычные запросы. Кроме того, вы можете отправлять любые аргументы, такие как идентификаторы сеанса, с помощью запроса AJAX.

На самом деле для сервера абсолютно не имеет значения, выполняется запрос через объект XmlHttpRequest или нет. Большинство фреймворков добавляют заголовок X-Requested-With: XMLHttpRequest, но это совершенно необязательно.

Итак ... что бы вы ни использовали для передачи данных сеанса, просто убедитесь, что они также доступны для сценария, вызываемого вашим AJAX-запросом:

  • Если у вас есть идентификатор сеанса, переданный через GET / POST, включите его в аргументы вашего запроса.
  • Если файлы cookie необходимы, убедитесь, что они отправлены в файл. Если он находится в той же папке, что и текущий файл или его потомок, вы обычно в безопасности. Если он находится в другом (суб) домене, у вас могут возникнуть проблемы - не только с файлами cookie, но и с междоменным AJAX, который обычно не разрешен из-за того, что браузеры имеют политику того же происхождения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...