解决iframe嵌套URL拼接;jsessionId,每次请求sessionId不一样问题

解决iframe嵌套URL拼接;jsessionId,每次请求sessionId不一样问题

 //设置手动关闭 url中追踪sessionId机制
httpServletRequest.getServletContext().getEffectiveSessionTrackingModes().remove(SessionTrackingMode.URL);
...
// 设置SameSite和Secure属性
httpServletResponse.setHeader("Set-Cookie", "JSESSIONID=" + httpSession.getId() + "; SameSite=None; Secure");
		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你需要在 JSP 页面中拼接 session ID,可以使用 JSP EL 表达式来获取 session ID。EL 表达式使用 `${}` 语法,在其中调用 `session` 对象的 `getId()` 方法获取 session ID,如下所示: ```jsp <form action="someAction.jsp;jsessionid=${session.id}"> <!-- 表单元素 --> </form> ``` 其中,`${session.id}` 表达式会被解析为当前 session 对象的 ID,然后拼接到表单的 action 属性后面。注意,在表单的 action 属性中指定 session ID 时,需要在 JSP 页面中关闭 URL 重写功能,否则服务器会忽略表单中指定的 session ID,生成的 session ID。 关闭 URL 重写功能的方法是在 `web.xml` 文件中配置 `disable-url-rewriting` 参数,如下所示: ```xml <session-config> <tracking-mode>COOKIE</tracking-mode> <cookie-config> <http-only>true</http-only> <secure>true</secure> </cookie-config> <tracking-mode>URL</tracking-mode> <tracking-mode>SSL</tracking-mode> <tracking-mode>NONSSL</tracking-mode> <tracking-mode>COOKIE</tracking-mode> <tracking-mode>SSL+URL</tracking-mode> <tracking-mode>NONSSL+URL</tracking-mode> <tracking-mode>URL+COOKIE</tracking-mode> <tracking-mode>SSL+COOKIE</tracking-mode> <tracking-mode>NONSSL+COOKIE</tracking-mode> <tracking-mode>DISABLE</tracking-mode> </session-config> <context-param> <param-name>org.apache.catalina.STRICT_SERVLET_COMPLIANCE</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>org.apache.tomcat.util.http.ServerCookie.ALLOW_EQUALS_IN_VALUE</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>org.apache.tomcat.util.http.ServerCookie.ALLOW_HTTP_SEPARATORS_IN_V0</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>org.apache.tomcat.util.http.ServerCookie.ALWAYS_ADD_EXPIRES</param-name> <param-value>false</param-value> </context-param> <context-param> <param-name>org.apache.tomcat.util.http.ServerCookie.REJECT_PUBLIC_SUFFIXES</param-name> <param-value>true</param-value> </context-param> <filter> <filter-name>httpHeaderSecurity</filter-name> <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>hstsEnabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>hstsMaxAgeSeconds</param-name> <param-value>31536000</param-value> </init-param> <init-param> <param-name>hstsIncludeSubDomains</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>xContentTypeOptionsEnabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>xFrameOptionsEnabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>xssProtectionEnabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>contentTypeNosniff</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>blockContentTypeSniffingEnabled</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>referrerPolicy</param-name> <param-value>strict-origin-when-cross-origin</param-value> </init-param> <init-param> <param-name>featurePolicy</param-name> <param-value>geolocation 'self'; midi 'self'; sync-xhr 'self'; microphone 'self'; camera 'self'; magnetometer 'self'; gyroscope 'self'; speaker 'self'; fullscreen 'self'; payment 'self';</param-value> </init-param> </filter> <filter-mapping> <filter-name>httpHeaderSecurity</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` 其中,`<tracking-mode>DISABLE</tracking-mode>` 参数指定了关闭 URL 重写功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值