0

是否可以使用 javascript 显式发出无 cookie 请求?我知道您不能发出“模拟”cookie 的请求(即,除非有一个具有该值的实际 cookie 设置,否则无法将数据作为 cookie 值提交),但这似乎在安全方面更可接受。

4

3 回答 3

1

我看到的选择是:

  1. 您可以在发出 ajax 请求之前清除所有客户端控制的 cookie(这不会清除仅服务器端的 cookie)。
  2. 您可以向 ajax 请求添加一个参数,指示服务器忽略该特定请求的任何 cookie 值。
  3. 您可以进行设置,以便 ajax 请求转到无法访问感兴趣的 cookie 的服务器或路径,这样它们就不会与该请求一起发送。
  4. 如果它是一个特定的 cookie 值并且该值是客户端控制的,那么您可以保存该 cookie 值,清除它,发送 ajax 请求,然后再次恢复 cookie 值。实际上,我想您可以使用所有 cookie 值来执行此操作,但只使用几个值会更简单。
于 2013-09-03T00:09:21.697 回答
1

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

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

于 2013-09-03T00:01:56.207 回答
0

这似乎在安全方面更容易接受

只需忽略服务器端未使用的cookie,或先向注销服务发出请求。另一种选择是对您的服务器进行编码,以便您可以覆盖 cookie 中的数据,例如在帖子正文或请求标头中形成编码数据。

于 2013-09-03T00:05:41.493 回答