Cookie属性HttpOnly引起的漏洞解决方案

问题描述:

项目扫描的时候出一个漏洞,Cookie未配置HttpOnly标志。那HttpOnly是什么呢?Httponly是微软对cookie做的扩展。这个主要是解决用户的cookie可能被盗用的问题。在web应用中、JSESSIONID (Cookie)没有设置Httponly属性可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务。

image-20240305134903299

解决办法:

这里我是写一个拦截器,实现GlobalFilter,我们可以在拦截器中向Cookie中添加HttpOnly属性。

@Component
@Slf4j
public class CookieFilter implements GlobalFilter {
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        ServerHttpResponse response = exchange.getResponse();
        ServerHttpRequest request = exchange.getRequest();
        MultiValueMap<String, HttpCookie> cookies = request.getCookies();
        for (Map.Entry<String, List<HttpCookie>> stringListEntry : cookies.entrySet()) {
            List<HttpCookie> cookieList = stringListEntry.getValue();
            // 所有的Cookie都要添加
            for (HttpCookie httpCookie : cookieList) {
                ResponseCookie httpOnlyCookie = ResponseCookie.from(httpCookie.getName(), httpCookie.getValue())
                        .httpOnly(true)
                        .sameSite("Lax")
                        .build();
                // 添加到响应头
                response.getHeaders().add(HttpHeaders.SET_COOKIE, httpOnlyCookie.toString());
            }

        }
        return chain.filter(exchange);
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/432585.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

越来越多的上市企业进行FTP替代,真相是什么?

FTP协议大家并不陌生&#xff0c;它是用于在网络上进行文件传输的一套标准协议&#xff0c;基于TCP传输&#xff0c;工作在OSI模型的第七层。FTP协议包括两个主要组成部分&#xff1a;FTP服务器和FTP客户端。FTP服务器用于存储文件&#xff0c;而用户则可以使用FTP客户端通过FT…

SORA技术解析

sora文生视频 sora视频生成过程&#xff1a;视频编码加噪降噪视频解码 视频压缩网络实现降维 时空patches统一视频分割 transformer架构凸显“scaling law”的暴力美学 数据资源更为丰富 参考资料&#xff1a; 1.sora技术报告

【三维重建】相移法+格雷码

本篇文章介绍一种稠密点云的获取方式——条纹结构光三维重建算法。 在学习此算法前&#xff0c;我们需要对基于视觉的三维重建算法有一定了解。 需要了解什么是相机模型、相机标定以及三角化的相关知识。 【三维重建】摄像机几何-CSDN博客 【三维重建】摄像机标定&#xff…

服务永不止步!苏州金龙圆满护航2024年春运

为期40天的2024年春运于3月5日正式落下帷幕。今年春运40天全社会跨区域人员流动量预计累计超84亿人次&#xff0c;在流动量创历史新高的同时还遭遇了冻雨、暴雪等多重考验。但是在社会各界通力合作下&#xff0c;各地运输工作仍然有条不紊地进行&#xff0c;最终克服重重困难&a…

[C语言]——scanf和printf介绍

目录 一.printf 1.基本用法 2.占位符 3.占位符列举 4.输出格式 4.1限定宽度 4.2总是显示正负号 4.3限定小数位数 4.4输出部分字符串 二.scanf 1.基本用法 2.scanf的返回值 3.占位符 4.赋值忽略符 一.printf 1.基本用法 printf() 的作⽤是将参数⽂本输出到屏幕。…

CSS 之 background 系列属性详解

一、background总览 1、简介 background属性是所有背景属性的缩写&#xff0c;通常建议在代码中使用该缩写属性&#xff0c;而不是使用多条单独的背景属性&#xff0c;因为该缩写属性在老版本浏览器中支持性更好&#xff0c;而且书写简便。未写在缩写属性中的其他背景属性&am…

软件设计师软考题目解析20之英语题

想说的话&#xff1a;要准备软考了。0.0&#xff0c;其实我是不想考的&#xff0c;但是吧&#xff0c;由于本人已经学完所有知识了&#xff0c;只是被学校的课程给锁在那里了&#xff0c;不然早找工作去了。寻思着反正也无聊&#xff0c;就考个证玩玩。 本人github地址&#xf…

Claude 3家族惊艳亮相:AI领域掀起新浪潮,GPT-4面临强劲挑战

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-agd7RSCGMblYxo85 {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

Qt 使用QListView实现简约美观的聊天窗口

今天和大家分享一个使用QListView来展现聊天窗口的历史记录的例子, 因为聊天记录可能会有很多, 所以使用试图-模型的方式更加合理 这是最终效果: ChatHistoryModel继承自QAbstractListModel , ChatHistoryViewDelegate继承自QStyledItemDelegate, 这个例子最关键的就是在QSty…

32单片机基础:TIM输入捕获

指定的电平跳变&#xff0c;就是上升沿或者下降沿&#xff0c;可以通过程序设置 PWMI模式&#xff0c;就是PWM的输入模式&#xff0c;是专门为测量PWM频率和占空比设计的&#xff0c; 可配合主从触发模式 这两个功能结合起来&#xff0c;测量频率占空比就是硬件全自动运行的…

电脑如何进行屏幕录制?轻松成为视频大咖!

随着电脑的普及以及互联网技术的发展&#xff0c;屏幕录制成为了人们在工作和生活中经常需要面对的问题。无论是录制游戏过程、软件操作教程&#xff0c;还是网络教学视频&#xff0c;都需要进行屏幕录制。可是电脑如何进行屏幕录制呢&#xff1f;本文将介绍两种常见的电脑屏幕…

蓝桥杯-大小写转换

转换方法 toLowerCase() String类的toLowerCase()方法可以将字符串中的所有字符全部转换成小写&#xff0c;而非字母的字符不受影响&#xff0c;语法格式如下&#xff1a; 字符串名.toLowerCase() //将字符串中的字母全部转成小写&#xff0c;非字母不受影响。 package chap…

【vue.js】文档解读【day 1】 | 模板语法1

如果阅读有疑问的话&#xff0c;欢迎评论或私信&#xff01;&#xff01; 本人会很热心的阐述自己的想法&#xff01;谢谢&#xff01;&#xff01;&#xff01; 文章目录 模板语法前言文本插值原始HTML属性Attribute绑定动态绑定多个值 模板语法 前言 Vue 使用一种基于 HTML…

MATLAB2020a安装编译器mingw-64(6.3.0)

MATLAB2020a指定安装mingw-64&#xff08;6.3.0&#xff09;版本编译器 记录一下几个要点 mingw-64&#xff08;6.3.0&#xff09; 找到对应的mingw-64安装包 设置mingw的bin文件路径到环境变量 变量名&#xff1a;MW_MINGW64_LOC MATLAB设置路径

微信小程序接入百度地图(微信小程序插件)使用文档

第一步配置域名 :在微信公众平台登录后配置服务域名称:https://apis.map.qq.com 第二步申请密钥 申请开发者密钥申请地址 第三步使用插件 选择添加插件 搜索腾讯位置服务地图选点 选择要授权的小程序 授权完毕会在这里显示插件信息 第四步查看使用文档 跳转至文…

【Linux C | 网络编程】广播概念、UDP实现广播的C语言例子

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

关于出国留学和考研比较----以本人双非跨考计算机为例

文章目录 中心论点国内就业现状勿让旧认知害了自己那出国留学真的一无是处了吗?1. 藤校仍旧是具有极高价值2. 时间成本低3. 研究生一定比单纯的本科找工作强!4. 很多人说出国读博好,可以无脑入,真是这样吗? 中心论点 如果在选择出国留学还是国内考研的最终核心诉求都是有更好…

LSTM长短期记忆网

笔记来源—— 【重温经典】大白话讲解LSTM长短期记忆网络 如何缓解梯度消失&#xff0c;手把手公式推导反向传播 LSTM网络结构 RNN结构 下面拉出一个单元结构进行讲解 &#xff1a;记忆细胞&#xff0c;t-1时刻的记忆细胞 :表示状态,t-1时刻的状态 正是这样经过了一个单元&a…

Oracle.xs.dll‘ for module DBD::Oracle: load_file:找不到指定的模块

安装Ora2pg时,碰到 异常现象 D:\ProgramFiles\ora2pg>ora2pg -t show_report --estimate_cost -c ora2pg_conf.dist install_driver(Oracle) failed: Cant load D:/ProgramFiles/strawberry/perl/site/lib/auto/DBD/Oracle/Oracle.xs.dll for module DBD::Oracle: load_fil…

Nginx使用—基础知识

Nginx简介 Nginx优点 高性能、高并发 支持很高的并发&#xff0c;在处理大量并发的情况下&#xff0c;比其他web服务器要高效 轻量且高扩展 功能模块少(源代码仅保留http与核心模块代码&#xff0c;其余不够核心代码会作为插件来安装) 代码模块化&#xff08;易读&#xff0…