【发布时间】:2014-06-25 21:22:11
【问题描述】:
javascript/JSF 可以从不同的域读取 cookie 吗?
如果我在一个域中设置 cookie,请说 www.domain1.com。我可以从不同的域 www.domain2.com 读取该 cookie 吗?
如果是,怎么做?
我尝试了下面的代码,但它没有从提到的 URL 中读取 cookie 值,即http://host.example.com
public void getCookieUsingCookieHandler() {
try {
// Instantiate CookieManager;
// make sure to set CookiePolicy
CookieManager manager = new CookieManager();
manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(manager);
// get content from URLConnection;
// cookies are set by web site
URL url = new URL("http://host.example.com");
URLConnection connection = url.openConnection();
connection.getContent();
// get cookies from underlying
// CookieStore
CookieStore cookieJar = manager.getCookieStore();
List <HttpCookie> cookies =
cookieJar.getCookies();
for (HttpCookie cookie: cookies) {
System.out.println("CookieHandler retrieved cookie: " + cookie);
}
} catch(Exception e) {
System.out.println("Unable to get cookie using CookieHandler");
e.printStackTrace();
}
}
【问题讨论】:
-
这对您来说安全吗?您希望他们阅读您的电子邮件/银行的 cookie 吗?您的代码将从服务器会话而不是客户端读取 cookie。
-
是的。从另一个域读取 cookie 对我来说是安全的。
标签: java javascript jsf-2