当前位置:编程学习 > JAVA >>

古老的applet,关于cookie的httponly的解决办法

首先提醒一下使用WAS8产品的朋友们,WAS8中的cookie的httponly属性默认是true。下面讲述我的问题,我们的应用程序中的applet,会用到cookie中的sessionID,当升级到WAS8的时候报错,原因是前面讲的WAS8中的cookie的httponly属性默认是true。当然如果把WAS8的默认设置cookie的httponly属性改成false,是可以正常运行的。不过难缠的客户要求我们不改WAS设置,而是通过修改代码来解决这个问题。我查了一下api,也没找到URLConnection中能设置cookie的httponly为false的方法。还有什么修改代码的办法能设置cookie的httponly为false吗?或者还有其他的办法在applet中取到sessionID吗?
server端:
                            String ck = req.getHeader("cookie");
                            URLConnection con = url.openConnection();
con.setRequestProperty("CONTENT_TYPE", "application/octet-stream");
con.setRequestProperty("cookie", ck); con.setUseCaches(false);
con.setDoInput(true);
con.setDoOutput(true);
oos = new ObjectOutputStream(con.getOutputStream());
applet端:
                           String sessionId = getParameter("SessionId");
                           String strUrl = getCodeBase().toString();
                           strUrl = strUrl.concat(programPath).concat(sessionId);                   URL url = new URL(strUrl);
URLConnection con = url.openConnection();
con.setRequestProperty("CONTENT_TYPE","application/octet-stream");
con.setUseCaches(false);
con.setDoInput(true);
con.setDoOutput(true);
                           ObjectInputStream ois = new ObjectInputStream(con.getInputStream()); --------------------编程问答-------------------- --------------------编程问答-------------------- 应该不可以,如果可以的话,病毒木马就更加放肆了
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,