快速是/否 - 我正在构建一个AJAX应用程序,一些脚本需要身份验证。如果PHP脚本是通过XHR调用的,那么我可以在服务器上阅读$_COOKIE['username']
和$_COOKIE['password']
,无论是$.get()
还是$.post()
?
附带问题:它还可以设置Cookie吗?这被认为是“良好做法”吗?
答案 0 :(得分:1)
Cookie在HTTP请求的标头中发送。无论何种请求(即GET / POST /等),只要它使用HTTP协议(或HTTPS),就可以使用cookie头。这是一条双向的街道...... cookie在标题中发送到服务器(Cookie:
标题),服务器在标题中设置cookie(Set-Cookie:
标题)。
这意味着Ajax / XHR请求很好,因为它们只是HTTP请求的核心。现代浏览器将发送cookie以及他们的Ajax请求,并因此尊重任何传入的cookie。这意味着,对于您接收的PHP脚本,$_COOKIE
将包含正常的cookie(如果有的话)。
答案 1 :(得分:1)
是。对于与cookie的域匹配的所有请求,它们将通过HTTP请求标头进入。
您可以依赖PHP会话和cookie变量来处理这些请求。
您也可以设置Cookie(我们在网站上使用Ajax登录表单执行此操作)。我不认为它有任何问题,无论是技术上还是哲学上。