2010-12-05 4 views
1

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

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

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

ответ

5

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

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

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

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