相关文章推荐
愉快的双杠  ·  ABAP 辨析 ...·  3 年前    · 
豪爽的肉夹馍  ·  alertmanager ...·  3 年前    · 

记一次无法登录tomcat部署的wepapp页面,用户密码都是对的,验证码也是输入正确,但是页面报错提示是验证码不正确。用 火狐开发工具 查看出现以下报错

由于非 HTTPS Cookie 无法设置“secure”属性,已拒绝 Cookie “JSESSIONID”。

解决办法:

查看tomcat配置文件,发现自己 启用了cookie的HttpOnly属性,接下来就把他关闭掉。

1、修改$CATALINA_HOME/conf/context.xml,把<Context useHttpOnly="true">,改为<Context useHttpOnly="false">
2、在$CATALINA_HOME/conf/web.xml中sesion-config节点找到以下配置,(此配置只允许cookie在加密方式下传输。)
    <session-config>
        <session-timeout>30</session-timeout>
        <cookie-config>
            <secure>true</secure>
        </cookie-config>
    </session-config>
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
30为时间,单位是分钟。
3、重启tomcat
记一次无法登录tomcat部署的wepapp页面,用户密码都是对的,验证码也是输入正确,但是页面报错提示是验证码不正确。用火狐开发工具查看出现以下报错由于非 HTTPS Cookie 无法设置“secure”属性,已拒绝 Cookie “JSESSIONID”。解决办法:查看tomcat配置文件,发现自己启用了cookie的HttpOnly属性,接下来就把他关闭掉。1、修改$CATALINA_HOME/conf/context.xml,把&lt;Context useHttpOnly="
在网上找资料,都是说 cookie 如果 设置 了 secu re=true,那么在 http 请求的时候,这个 cookie 就不会往后端传递。为了验证这个说法,我自己用springboot搭了一个简单程序,写了一个接口做测试,接口代码如下,很简单 @RequestMapping("/demo") @RestController public class DemoController { @GetMapping("/hello") public ResultVO hello( HttpS ervletReq
尝试通过Set- Cookie 标头 设置 Cookie 时被阻止,因为它具有“ Secu re" 属性 ,但未通过安全连接发送问题:原因:解决 浏览器端 cookie 就是没有 设置 成功, 后来注意到header的Set- Cookie :参数后面有带着 secu re的 属性 尝试通过Set- Cookie 标头 设置 Cookie 时被阻止,因为它具有“ Secu re" 属性 ,但未通过安全连接发送 This attempt to set a cookie via a Set- Cookie header was blocked bec
cookie 无法 设置 问题记录 项目中遇到了一个 cookie 无法 设置 的问题,大佬排查之后,找出原因如下: 当前服务器下不同端口有另外一个项目,并且存储 cookie 名称与我项目相同。 正常来说,我项目登录后会直接将另外一个项目 cookie 覆盖掉,这样使用时还是正常的。 但是由于另外一个项目是 https 的, cookie 中有一个 secu re 属性 被 设置 为true,此时, 非 https 的我的项目 cookie 就 无法 覆盖 https 设置 的带有 secu re 属性 的 cookie ,导致项目 无法 登录
一、 属性 说明: 1 secu re 属性 当 设置 为true时,表示创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到 Cookie 的具体内容。 2 Http Only 属性 如果在 Cookie 中 设置 了" Http Only" 属性 ,那么通过程序(JS脚本、Applet等)将 无法 读...
客户网站出现了问题, 经查看是 cookie 里面的参数没有传送到后台, 看header后台又有发送设定 cookie 的header, 但是浏览器端 cookie 就是没有 设置 成功, 后来注意到header的Set- Cookie :参数后面有带着 secu re的 属性 , 搜索后知道, 设置 了 secu re 属性 的 cookie 只能用 https 协议发送给服务器, 而当时客户的网站是 http 的, 导致了服务...
一.服务器端获取Session对象依赖于客户端携带的 Cookie 中的 JSESSIONID 数据。如果用户把浏览器的隐私级别调到最高,这时浏览器是不会接受 Cookie 、这样导致永远在服务器端都拿不到的 JSESSIONID 信息。这样就导致服务器端的Session使用不了。 Java 针对 Cookie 禁用,给出了解决方案,依然可以保证 JSESSIONID 的传输。 Java 中给出了再所有的路径的后面拼接 JSESSIONID 信息。 在 Session1Servlet中,使用response.encodeURL(url) 对超链接路径拼接 session的唯一标识 // 当点击 的时候跳转到 sess
Java 中可以使用Servlet API中的 HttpS ession对象来实现把session放在 cookie 中。具体步骤如下: 1.在Servlet中获取 HttpS ession对象: HttpS ession session = request.getSession(); 2.将数据存入Session中: session.setAttribute("name", "value"); 3.获取Session ID并将其存储在 Cookie 中: Cookie cookie = new Cookie (" JSESSIONID ", session.getId()); response.add Cookie ( cookie ); 通过这种方式,将Session ID存储在客户端的 Cookie 中,客户端每次请求都会携带该 Cookie ,从而实现了Session的持久化。