2010-04-11 1 views
0

Быстрое да/нет - я создаю приложение AJAX, а некоторые сценарии требуют аутентификации. Могу ли я читать $_COOKIE['username'] и $_COOKIE['password'] на сервере, если скрипт PHP был вызван через XHR, независимо от того, будет ли это $.get() или $.post()?

Вопрос на стороне: Можно ли также установить куки? Это считается «хорошей практикой»?

+0

Не было бы проще просто проверить с помощью PHP и firebug? –

+0

Не особенно. Я еще не создал сайт. Это потребует больше времени, чем это. Не то, чтобы я ленив, но я не хочу кодировать что-то только, чтобы он потерпел неудачу в последнюю секунду. –

ответ

1

Cookies отправляются в заголовках HTTP-запросов. Независимо от того, какой запрос (например, GET/POST/и т. Д.), Если он использует протокол HTTP (или HTTPS), можно использовать заголовки файлов cookie. Это двоичная улица ... файлы cookie отправляются в заголовки на сервер (Cookie: заголовок), а сервер устанавливает куки в заголовках (Set-Cookie:).

Это означает, что запросы Ajax/XHR являются точными, поскольку они в основном просто HTTP-запросами. Современные браузеры будут отправлять файлы cookie вместе со своими запросами Ajax и, в результате, оценивать любые входящие файлы cookie. Это означает, что для вашего PHP-скрипта, $_COOKIE будет содержать файлы cookie как обычно, если они были доступны.

+0

Хороший ответ и объяснение. –

1

Да. Они войдут через заголовки HTTP-запросов для всех запросов, соответствующих домену cookie.

Вы можете рассчитывать на переменные PHP и переменные cookie для этих запросов.

Вы также можете установить файлы cookie (мы делаем это с помощью формы входа Ajax на нашем сайте). Я не думаю, что в этом есть проблема, технически или философски.

 Смежные вопросы

  • Нет связанных вопросов^_^