Как аутентифицировать вызов AJAX?

Я разработал веб-сайт, который использует AJAX. У меня есть страница PHP с именем store.php, которая принимает данные, отправленные методом POST и хранящиеся в базе данных.

Как реализовать аутентификацию в store.php? Я хочу, чтобы пользователь вошел в мой сайт, чтобы использовать store.php.

В настоящее время я использую htaccess для перенаправления запросов для store.php, но я не думаю, что это хорошее решение.

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

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

Безопасность Ajax-запросов – дело не простое. Они могут быть восприимчивы к атакам типа «человек-в-середине» и атакам повторного воспроизведения, чтобы назвать несколько. Я бы рекомендовал прочитать эту книгу: http://www.amazon.com/Ajax-Security-Billy-Hoffman/dp/0321491939 . Это даст вам много хорошей информации по этому вопросу.

Что касается вашего вопроса, в частности: после того, как ваш PHP-сеанс настроен, эти куки сеанса будут применяться и к запросам Ajax.

То, что вы ищете, является постоянным для пользователя. Лучший способ реализовать это в PHP – использовать сеансы.

На нем есть отличная документация: http://www.php.net/manual/en/book.session.php

Обычно я включаю тот же самый код, который я использую для проверки подлинности на остальной части моего сайта на странице, названной ajax. Я использую SESSION для хранения sessionID, а остальное обрабатывается в моей БД. Обычно я просто добавляю такую ​​строку.

 require_once('loginProcedures.php'); //Login Authentication takes place here using SESSION ID if (!$me['validLogin']) die("Invalid Authentication"); //perform actions and echo your result for a valid login.