相关疑难解决方法(0)

如何为 jsessionid cookie 启用相同站点

如何为在 Wildfly 上运行的 Web 应用程序启用相同站点。已检查standalone.xml但无法在其中找到合适的标签

<servlet-container name="default">
    <session-cookie http-only="true" secure="true"/>
    <jsp-config/>
</servlet-container>
Run Code Online (Sandbox Code Playgroud)

security cookies web wildfly-10

20
推荐指数
3
解决办法
4万
查看次数

如何将 SameSite 和 Secure 属性设置为 JSESSIONID cookie

我有一个 Spring Boot Web 应用程序(Spring Boot 版本 2.0.3.RELEASE)并在 Apache Tomcat 8.5.5 服务器中运行。

谷歌浏览器最近实施的安全策略(自 80.0 起推出),要求应用新SameSite属性,使跨站点 cookie 访问以更安全的方式而不是 CSRF。正如我什么也没有做相关的是和Chrome已设置默认值,SameSite=Lax为第一方Cookie,我的第三方服务集成的一个失败,由于原因,铬是制约跨站点的cookie的访问时SameSite=Lax,如果第三方响应来自POST请求(一旦程序完成第三方服务重定向到我们的站点的POST请求)。在那里 Tomcat 无法找到会话,因此它附加了一个新的JSESSIONID(有一个新会话,前一个会话被终止)在 URL 的末尾。因此 Spring 拒绝该 URL,因为它包含由新JSESSIONIDappend引入的分号。

因此,我需要更改JSESSIONIDcookie 属性 ( SameSite=None; Secure) 并以多种方式进行尝试,包括 WebFilters。我在 Stackoverflow 中看到了相同的问题和答案,并尝试了其中的大部分,但最终无果而终。

有人可以想出一个解决方案来更改 Spring Boot 中的这些标头吗?

java cookies spring spring-boot samesite

7
推荐指数
1
解决办法
1万
查看次数

Jetty 会话 cookie 上的 SameSite 标志

如果我使用它来托管战争文件,如何将标志 SameSite=Lax 或 SameSite=Strict 添加到由 Jetty 生成的会话 cookie?

jetty session-cookies

6
推荐指数
1
解决办法
3503
查看次数

如何设置 SameSite 属性?

我在 Cookie 中设置 SameSite 属性时遇到问题。我想设置这个属性,但既没有javax.servlet.http.Cookie也没有java.net.HttpCookie提供处理它的方法。因此,我有一个想法来创建一个响应javax.servlet.Filter以捕获“Set-Cookie”标头并添加“SameSite=Strict”属性。

response.setHeader("Set-Cookie", response.getHeader("Set-Cookie") + "; SameSite=strict");
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是当我在一个响应中有多个“Set-Cookie”标头时出现问题。javax.servlet.http.HttpServletResponse不提供删除或覆盖多个具有相同名称的 heder 的方法(迭代它们并使用setHeader()不起作用,因为它总是设置最后一个)。您知道如何将 SameSite 属性设置为 cookie 或如何覆盖响应过滤器中的标头吗?

提前致谢。

java cookies http servlet-filters

6
推荐指数
1
解决办法
2万
查看次数

Spring Security中的相同站点Cookie

在Spring Security中可以设置Same-site Cookie标志吗?请参阅:https : //tools.ietf.org/html/draft-west-first-party-cookies-07 ,如果没有,请问是否有增加支持的路线图?某些浏览器(例如Chrome)已经支持。TH

security cookies spring-security jsessionid csrf-protection

5
推荐指数
5
解决办法
4253
查看次数

httpd 重复 Access-Control-Allow-Origin 并带有“始终设置标头”

我正在尝试在我的服务器上启用 CORS。它同时托管 Apache HTTPD 和 Apache Tomee。HTTPD 配置为:

SetEnvIf Origin "^https://(.+\.)?my-domain.com$" allowed_origin=$0
Header always set Access-Control-Allow-Origin %{allowed_origin}e env=allowed_origin
Header set Access-Control-Allow-Credentials "true"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, HEAD, PUT, DELETE, PATCH"
Header set Access-Control-Allow-Headers "accept,x-requested-method,origin,x-requested-with,x-request,cache-control,content-type"
Header set Access-Control-Max-Age "600"
Run Code Online (Sandbox Code Playgroud)

和我的 Tomee web XML:

<filter>
  <filter-name>CorsFilter</filter-name>
  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
  <init-param>
    <param-name>cors.allowed.headers</param-name>
    <param-value>Origin,Accept,X-Requested-With,Content-Type,Access-Control-Request-Method,Access-Control-Request-Headers,Accept-Language,Keep-Alive</param-value>
  </init-param>
  <init-param>
    <param-name>cors.allowed.methods</param-name>
    <param-value>GET,POST,HEAD,OPTIONS,PUT,PATCH,DELETE</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)

我的问题是我Access-Control-Allow-Credentials在对预检选项请求的响应中获得了两次标题:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: https://my-origin.my-domain.com
Access-Control-Allow-Origin: https://my-origin.my-domain.com
Access-Control-Allow-Credentials: true
Access-Control-Max-Age: 600
Access-Control-Allow-Methods: GET, POST, OPTIONS, HEAD, PUT, …
Run Code Online (Sandbox Code Playgroud)

apache http-headers cors apache-tomee

2
推荐指数
2
解决办法
5188
查看次数