JAVAWEB项目报"xxx响应头缺失“漏洞处理方案

新增一个拦截器,在拦截器doFilter()方法增加以下代码

public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
		//增加响应头缺失代码
		HttpServletRequest req=(HttpServletRequest)request;
		HttpServletResponse res=(HttpServletResponse)response;
		res.addHeader("X-Frame-Options","SAMEORIGIN");
		res.addHeader("Referer-Policy","origin");
		res.addHeader("Content-Security-Policy","object-src ‘self‘");
		res.addHeader("X-Permitted-Cross-Domain-Policies","master-only");
		res.addHeader("X-Content-Type-Options","nosniff");
		res.addHeader("X-XSS-Protection","1; mode=block");
		res.addHeader("X-Download-Options","noopen");

		//处理cookie问题
		Cookie[] cookies = req.getCookies();
		if (cookies != null) {
			for (Cookie cookie : cookies) {
				String value = cookie.getValue();
				StringBuilder builder = new StringBuilder();
				builder.append(cookie.getName()+"="+value+";");
				builder.append("Secure;");//Cookie设置Secure标识
				builder.append("HttpOnly;");//Cookie设置HttpOnly
				res.addHeader("Set-Cookie", builder.toString());
			}

		}

			chain.doFilter(request, response);

	}

  

原文地址:https://www.cnblogs.com/pxblog/p/11630736.html

时间: 2024-10-29 21:45:46

JAVAWEB项目报"xxx响应头缺失“漏洞处理方案的相关文章

【SAE 部署 JavaWeb 项目报 404 错误】

个人学习整理,如有不足之处,请不吝不吝赐教.转载请注明:@CSU-Max 今天写了一个小的 JavaWeb 项目传到 SAE 上.訪问的时候出错. 本地測试是正常的,并且曾经做微信平台开发的时候上传的项目就能够正常訪问.于是花了两个小时的时间最终找出了错误的原因. 错误信息例如以下: Error 404 – Not Found.No context on this server matched or handled this request. Contexts known to this ser

Eclipse导入JavaWeb项目报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

JavaWeb项目中写的JSP页面需要Web容器解析处理成HTML才能展示到前端浏览器,解析JSP需要Web容器.JSP页面顶端出现“红色”的报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path. javax.servlet.http.HttpServlet是Web容器Tomcat包中的类,将需要的jar包导入项目中就能解决这个问题. 下面是具体的解决方法: 右

解决JavaWeb项目报错:The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

明明有项目和文件,而且别的项目都可以运行,偏偏这个不能用,报错The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.,开始很紧张,现在说下我的解决办法. 找到Services工具栏 然后右击这个Tomcat v9.0 Server at localhost 选择Add and Remove 重新rem

Javaweb项目 利用JSP响应浏览器

一.javaweb  数据访问流程? 1.浏览器 http 访问服务器 找到 servlet(HttpServeltDemo.java文件) 2.servle 通过dao 访问数据库 数据库将数据返回给servlet 3.servlet找寻指定的JSP文件 将student数据传送给JSP 4.JSP获得数据,展示在网页上.将数据返回给servlet 5.servlet将数据 传送给浏览器. 二.将数据库中的student 展示在http页面 .代码体现 ? 装备工作建立四个包. 1.dao p

Web安全 之 X-Frame-Options响应头配置

最近项目处于测试阶段,在安全报告中存在" X-Frame-Options 响应头缺失 "问题,显示可能会造成跨帧脚本编制攻击,如下图: X-Frame-Options: 值有三个: (1)DENY:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许. (2)SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展示. (3)ALLOW-FROM https://example.com/:表示该页面可以在指定来源的 frame 中展示.   配置A

Visual Studio发布Web项目报错:Unable to add 'xxx' to the Web site. Unable to add file 'xxx'. The specified file could not be encrypted.

背景 Visual Studio下的Web项目 现象 发布时遇到Unable to add 'xxx' to the Web site.  Unable to add file 'xxx'. The specified file could not be encrypted.的报错 原因 这些文件(文件夹)被设置为"加密".可能因为这些文件是从Internet上下载并复制到项目下的文件夹,在被下载前就已经被启用"加密"选项 这些文件(文件夹)来自于其他计算机并被锁定

JavaWeb学习记录(一)——response响应头之缓存设置与下载功能的实现

一.HTTP中常用响应头 Location: http://www.it315.org/index.jsp Server:apache tomcat Content-Encoding: gzip Content-Length: 80 Content-Language: zh-cn Content-Type: text/html; charset=GB2312 Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT Refresh: 1;url=http://ww

Maven项目pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径)

在今天的学习Maven项目中遇到的这个错误:pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径) 在Maven项目学习中,缓存问题时刻存在 我的解决办法为:选择工程右击--Maven--Update Project 网上也有其他的一些办法:大致三类 1.找到eclipse的project菜单选择clean...选项 2.选中pom.xml右击--Maven clean 3.eclipse工具栏Project--clean 总

Error:Cannot build artifact 'XXX:war exploded' because it is included into a circular dependency (artifact 'XXXX:war exploded', artifact 'XXX:war exploded') Idea启动项目报错解决方案

在Idea中使用Maven创建父子工程,第一个Model的那个项目可以很好的运行,在创建一个Model运行时报这个错.原因是tomcat部署了多个Web项目,可能最开始是两个项目的配置文件混用用,最后就报这个错. 网上找的解决方案: 步骤:File--  Porject Struccture ---- Artifacts 在Tomcat部署时war和war exploded区别: war模式:将WEB工程以包的形式上传到服务器 : war exploded模式:将WEB工程以当前文件夹的位置关系