Java 读取跨域cookie
javascript/JSF可以从不同的域读取cookie吗 如果我在一个域中设置了cookie,请访问www.domain1.com。我可以从另一个域www.domain2.com读取cookie吗 如果是,如何进行 我已经尝试了下面的代码,但它并没有从上面提到的URL读取cookie值Java 读取跨域cookie,java,javascript,jsf-2,Java,Javascript,Jsf 2,javascript/JSF可以从不同的域读取cookie吗 如果我在一个域中设置了cookie,请访问www.domain1.com。我可以从另一个域www.domain2.com读取cookie吗 如果是,如何进行 我已经尝试了下面的代码,但它并没有从上面提到的URL读取cookie值 public void getCookieUsingCookieHandler(){ 试试{ //实例化CookieManager; //请确保设置CookiePolicy CookieManager=新建C
public void getCookieUsingCookieHandler(){
试试{
//实例化CookieManager;
//请确保设置CookiePolicy
CookieManager=新建CookieManager();
manager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
setDefault(管理器);
//从URLConnection获取内容;
//Cookie由网站设置
URL=新URL(“http://host.example.com");
URLConnection=url.openConnection();
connection.getContent();
//从底层获取cookie
//库克商店
CookieStore cookieJar=manager.getCookieStore();
列出cookies=
cookieJar.getCookies();
用于(HttpCookie cookie:cookies){
System.out.println(“CookieHandler检索到的cookie:+cookie”);
}
}捕获(例外e){
System.out.println(“无法使用CookieHandler获取cookie”);
e、 printStackTrace();
}
}这是完全不安全的,不可能的。埃帕斯卡雷罗击中了它的头部。如果您可以从任何域读取cookie,那么您就可以从刚刚打开您的网页的用户那里窃取会话cookie。您觉得这样安全吗?你想让他们阅读你的电子邮件/银行的cookies吗?您的代码将从服务器会话而不是客户端读取cookie。是。从另一个域读取cookie对我来说是安全的。有没有其他方法可以验证cookie是否已在另一个域中设置?没有。有一个警告。。。可以跨同一域的子域共享cookie。例如,com.yoursite.domain1可以将cookies范围限定到com.yoursite,然后com.yoursite.domain2可以访问这些cookies,反之亦然。
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();
}