我在websphere中为jsession cookie设置了以下属性
com.ibm.ws.webcontainer.HTTPOnlyCookies.
知道在Firefox或IE中使用JavaScript如何最好地测试它?
我正在运行Apache 2.2.26:
Server version: Apache/2.2.26 (Unix)
Server built: Jan 17 2014 12:24:49
Cpanel::Easy::Apache v3.22.30 rev9999 +cloudlinux
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用mod_headers来编辑Set-Cookie标头并添加安全或httpOnly标志,但它根本不起作用(什么都不做,不会给出HTTP 500错误).
我可以使用"修改""附加",Header命令的指令没有问题,只是没有编辑.我不知道为什么...
我尝试了很多组合,但这就是我在.htaccess中所拥有的:
Header edit Set-Cookie "(.)([Hh][Tt][Tt][Pp][Oo][Nn][Ll][Yy])?(.)" "$1$2 ;HTTPOnly"
Header edit Set-Cookie "(.)([Ss][Ee][Cc][Uu][Rr][Ee])?(.)" "$1$2 ;Secure"
Run Code Online (Sandbox Code Playgroud)
我愿意接受任何自动将标志添加到每个Set-Cookie响应的解决方案,而无需在应用程序中编辑代码.我无权在Web服务器上安装其他项目,但Web服务器具有在大多数Web主机上找到的标准的很长的Apache模块列表.
我正在尝试在JSESSIONID cookie上设置httponly标志.我在Java EE 5中工作,但是无法使用setHttpOnly().首先,我尝试doPost()使用在servlet中创建自己的JSESSIONID cookie response.setHeader().
如果那不起作用,我试过了response.addHeader().那也行不通.然后,我了解到servlet处理将会话转换为JSESSIONID cookie并将其插入http头中,因此如果我想使用该cookie,我将不得不编写一个过滤器.我写了一个过滤器和setHeader()/ addHeader()在那里玩,再次无济于事.
然后,我了解到响应对象在进入过滤器之前会有一些刷新/关闭动作,所以如果我想操纵数据,我需要扩展HttpServletResponseWrapper并传递给它filterChain.doFilter().这已经完成,但我仍然没有得到结果.显然我做错了但我不知道是什么.
我不确定这与手头的问题是否完全相关,但servlet没有将任何html文档返回给浏览器.所有真正发生的事情是正在填充一些对象并将其返回到JSP文档.我有点假设Session对象被转换为JSESSIONID cookie,并在发送到浏览器之前将其与添加到请求中的对象一起包装在http标头中.
我很乐意发布一些代码,但我想排除我的困难源于对该理论的误解的可能性.
嗨,我正在研究XSS(跨站脚本)问题.我的应用程序在oracle weblogic门户上开发.我们使用Servlet 2.5版本.
我在过滤器中添加了以下3行代码,用于设置httponly和安全cookie.它工作正常.
String sessionid = req.getSession().getId();
res.setHeader("Set-Cookie", "JSESSIONID=" + sessionid + ";HttpOnly");
res.setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + "; secure");
Run Code Online (Sandbox Code Playgroud)
问题是,当我在同一个浏览器中注销并立即登录时,我能够登录,但在jsp页面上,我收到会话超时问题.我们使用weblogic相关的apis.request.getuserprinical()api返回null ..猜测它设置为null.
任何想法请分享.
如果有任何其他方式设置httponly或安全标志请帮助.
我希望在我的传统ASP经典网站中实现httpOnly.谁知道怎么做?
是否可以将django csrf cookie设置为仅限http?SESSION_COOKIE_HTTPONLY与会话cookie 相似,但对于csrf一个?
我想关闭我认为是Spring Boot默认的HttpOnly会话.如何在弹簧靴上关闭HttpOnly?
我目前有以下代码:
@RequestMapping(value = "/stuff", method = GET)
public @ResponseBody
myObject doStuff(HttpSession session)
{
session.setAttribute("foo", "bar");
return new MyObject();
}
Run Code Online (Sandbox Code Playgroud)
这会在HTTP调用上返回响应头:
Set-Cookie: JSESSIONID=D14846D9767B6404F1FB4B013AB66FB3; Path=/; HttpOnly
Run Code Online (Sandbox Code Playgroud)
注意HttpOnly标志.我想把它关掉.我该怎么办?
旁注:是的我知道httpOnly是一个安全功能,通过关闭它允许javascript访问我的cookie即XSS.
另外,我没有默认配置以外的任何配置.
@ComponentScan
@EnableAutoConfiguration
public class WebApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(WebApplication.class);
app.run(args);
}
}
Run Code Online (Sandbox Code Playgroud) 我可以看到HttpOnlycookie 对安全性有好处,但是它们无法在没有服务器交互的情况下进行注销,对吧?1因此,当网络出现故障时,您无法注销并离开.我可以想象一个解决方法,但我想先问一下
1假设你实际上正在使用它们.
有没有办法检查cookie是否在PHP中是httponly?
在Servlet 3.0投诉应用程序服务器中,我可以通过在web.xml中添加以下内容来为会话cookie(JSESSIONID)设置HttpOnly和安全标志:
<session-config>
<cookie-config>
<secure>true</secure>
<http-only>true</http-only>
</cookie-config>
</session-config>
Run Code Online (Sandbox Code Playgroud)
但是,我正在处理的应用程序将部署在Websphere 7中,这是Servlet 2.5的投诉,如果我将上面的内容添加到web.xml,则无法启动
在Websphere 7配置中是否还有其他声明性方法或设置来打开会话cookie的HttpOnly和安全标志?
如果没有,那么以编程方式完成该方法的最佳方法是什么?
httponly ×10
cookies ×5
java ×3
security ×3
servlets ×2
.htaccess ×1
asp-classic ×1
csrf ×1
django ×1
jsessionid ×1
mod-headers ×1
php ×1
session ×1
spring ×1
spring-boot ×1
web-services ×1
websphere ×1
websphere-7 ×1
xss ×1