2010-12-05 89 views
1

当用户在页面上时,您可以使用会话或cookie来检查他是谁。AJAX如何验证用户?

但是,当使用AJAX发送答案时,发送页面与用户没有联系。它如何检查它是真正的注册用户,还是只是通过头文件发送这个消息?

AJAX用户验证的常见做法是什么?

回答

5

AJAX请求包含像常规请求一样的cookie。除此之外,您可以通过AJAX请求发送任何参数,如会话ID。

实际上,对于服务器来说,如果通过XmlHttpRequest对象发出请求,它就完全没有区别。大多数框架添加一个X-Requested-With: XMLHttpRequest标题,但这是完全可选的。

所以..无论意味着你用它来传递您的会话数据,只需确保它也可用来调用您的AJAX请求脚本:

  • 如果你可以通过GET/POST传递会话ID,包括它在你的请求的论点。
  • 如果需要cookie,请确保将它们发送到文件。如果它位于当前文件或其后代的相同文件夹中,则通常是安全的。如果它位于另一个(子)域,那么您可能会遇到问题 - 不仅包括Cookie,还包含跨域AJAX,因为同源策略浏览器通常不允许使用跨域AJAX。