如何制作一个无cookie的ajax请求?

时间:2013-09-02 23:53:39

标签: javascript jquery cookies

是否可以使用javascript明确发出cookieless请求?我知道你不能提出“模仿”cookie的请求(即,除非有一个具有该值的实际cookie设置,否则无法将数据作为cookie值提交),但这似乎更安全。< / p>

3 个答案:

答案 0 :(得分:1)

正如对问题的评论中所提到的,这是不可能的,您无法控制浏览器的这一方面。我能想到的唯一方法是将cookie的PATH设置为域中的特定目录(例如host.domain.com/myApp),然后将您的ajax请求设置为一个目录不是您为Cookie设置的PATH目录的子项(例如host.domain.com/ajaxDirectory)。

减少请求大小的常见做法是在不同的子域上拥有资源。这样大多数cookie都不会被发送,但显然这不是AJAX的选项(除非你使用JSONP)。

答案 1 :(得分:1)

我看到的选择是:

  1. 您可以在发出ajax请求之前清除所有客户端控制的Cookie(这不会清除服务器端唯一的Cookie)。
  2. 您可以在ajax请求中添加一个参数,指示服务器忽略该特定请求的任何cookie值。
  3. 您可以进行设置,以便将ajax请求发送到无法访问感兴趣的Cookie的服务器或路径,以便它们不会随该请求一起发送。
  4. 如果它是一个特定的cookie值并且该值是客户端控制的,那么您可以保存该cookie值,清除它,发送ajax请求,然后再次恢复cookie值。实际上,我猜你可以用所有的cookie值来做到这一点,但只用几个就可以做到这一点。

答案 2 :(得分:0)

  

这似乎更可接受安全性

只需忽略服务器端未使用的cookie,或者首先向注销服务请求。另一种方法是对您的服务器进行编码,以便您可以使用post body或request header中的编码数据覆盖cookie中的数据。