您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

servlet可以更改另一个域的cookie

servlet可以更改另一个域的cookie

出于安全原因,您不能使用托管在另一个域上的servlet或JavaScript来修改一个域的cookie。参见RFC 6265第4.1.2.3节

用户代理将拒绝cookie,除非Domain属性为cookie的范围指定一个范围,该范围将包括原始服务器。例如,用户代理将接受来自foo.example.com的Domain属性为“example.com”或“ foo.example.com”的cookie,但是用户代理将不接受Domain属性为的cookie。 “bar.example.com”或“ baz.foo.example.com”。

但是您可以在servlet /脚本中设置cookie,然后在同一主机上的另一个servlet /脚本中读取/修改cookie。您甚至可以从在同一主机名/域的另一个端口上运行的服务器读取或修改在同一主机名/域的一个端口上运行的服务器上的cookie集- 这样就可以使Tomcat在同一服务器上的两个不同端口上运行并在两者之间交换Cookie。

请注意,setDomain在第一个示例中,您的调用不正确-Cookie的此字段使用域名而不是完整的URL。因此,调用应如下所示:

cookie.setDomain("localhost");

正如其他答案所指出的那样,某些浏览器会忽略的cookie localhost,因此您可能根本不想设置cookie的此字段- 这样做的结果是设置了一个cookie,该cookie只返回给设置该cookie的同一主机(大多数时间是您想要的)。

Jave 2022/1/1 18:16:19 有347人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶