在tomcat中配置内容安全策略

2024-01-07

我读到了有关配置/实现 Content-Security-Policy 标头的信息,并且遇到了两种执行此操作的方法:

  1. 使用实现 Filter 的自定义过滤器,如下所示this https://stackoverflow.com/questions/37306300/can-tomcat-7-be-configured-to-insert-content-security-policy-http-header link
  2. 使用元标记

请注意,这个问题不重复this https://stackoverflow.com/questions/37306300/can-tomcat-7-be-configured-to-insert-content-security-policy-http-header,我正在寻找比给出的更好的解决方案this https://stackoverflow.com/questions/37306300/can-tomcat-7-be-configured-to-insert-content-security-policy-http-header link

我看到(1)中的缺点是它通过代码驱动,而不是通过配置文件,选项(2)中的缺点是如果我有100个html文件,我需要在每个HTML中放置这个标签? (如我错了请纠正我) 我正在寻找的解决方案是我可以在 web.xml 中配置并适用于所有 html 文件的解决方案。在像给定的 web.xml 中配置 X-Frame-Options 时我们所做的事情here https://stackoverflow.com/questions/34991226/xframe-option-in-tomcat-7,我们在 web.xml 中没有类似的配置 Content-Security-Policy 的方法吗?


在 web.xml 中配置内容安全策略

您可以使用以下提供的建议OWASP here https://owasp.org/www-community/controls/Content_Security_Policy。它是一个可以在后端实现的网络过滤器。

然后必须在您的中定义以下过滤器web.xml文件。您的应用程序中的每个请求都会调用此方法。在 Java 中,您可以通过创建适当的类来做到这一点。

    <filter>
        <filter-name>ContentSecurityPolicy</filter-name>
        <filter-class>YourPackagePath.ContentSecurityPolicyFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>ContentSecurityPolicy</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

上面的内容将在您的 HTTP 标头中实现以下内容安全策略值

默认 src '无'; style-src 'self' '不安全内联'; script-src 'self' '不安全内联' '不安全评估'; img-src '自我';框架-src'自我';连接-src'自我';形式-动作“自我”;反射 xss 块

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在tomcat中配置内容安全策略 的相关文章

  • Eclipse WTP 在 Tomcat 服务器中部署依赖项的奇怪行为

    我的 Eclipse WTP 在 Tomcat 部署过程中有一个奇怪的行为 我正在使用 Eclipse 3 7 Indigo WTP 3 3 nom2eclipse 插件 Java 1 6 Tomcat 5 5 我的应用程序是一个 Web
  • asp.net 中的 HTML 标签注入

    我的安全团队报告了以下代码的一个 html 标签注入安全问题 function ClosePopUp objBhID var pageName window location pathname var modalPopupBehavior
  • 使用 Vaadin 生成 HTML 速度缓慢

    我是一个有问题的开发人员 目前我们的项目 使用 Vaadin 即将结束 但是 我们在其中一个视图中显示简单数据时遇到了一些麻烦 Vaadin 完成生成后 需要显示超过 500 KB 的数据 以及超过 15K 的 DOM 元素 在完成之前需要
  • 处理 PHP 中的会话劫持

    阅读了 Stackoverflow 上有关会话劫持的许多问题 我发现验证用户会话的唯一 解决方案 是检查用户代理 这是一个薄弱的保护层 我什至懒得去检查实施它 所以 我想知道你们实施了哪些解决方案 您是否使用 PHP 的本机会话或者是否有更
  • favicon.ico 在 Tomcat 7.0 的 spring mvc 3.2.2 中不显示?

    我是 spring mvc 新手 我的 favicon ico 没有显示在使用 spring 3 2 2 使用 tomcat 7 0 的浏览器选项卡中 我尝试查看相关的谷歌搜索 但仍然无法让它显示在浏览器选项卡中 FF Chrome IE
  • 不支持的major.minor版本52.0错误[重复]

    这个问题在这里已经有答案了 我有在 JDK 1 8 上编译的代码 我创建了 war 文件并将其部署在运行 JRE 1 8 的 Ubuntu 服务器中的 Tomcat8 上 我打开主页的时候出现这个错误 java lang Unsupport
  • 在 C# .net 中如何使用 RSA 和许可证提供程序类进行许可?

    我想为简单的控制台应用程序提供许可证 我使用 RSACrypttoServiceProvider 类来加密和解密 我还想使用 LicFileLicenseProvider 类来为我的应用程序授予许可证 如何继承LicFileLicenseP
  • Tomcat 唯一 SessionId

    有没有办法配置 xml tomcat 6 x 来生成唯一的SessionId 无需扩展 ManagerBase StandardManager 我正在数据库表中捕获用户登录详细信息 会话 ID 在具有唯一约束的列中 并且收到唯一约束异常 您
  • 正确使用 EncryptedSharedPreferences

    Android 最近发布了 EncryptedSharedPreferences 它自动加密 SharedPreferences 键 值数据 虽然这很好 但我发现我可以简单地连接 API 调用并检索解密的值 除了在调用 EncryptedS
  • 此 JavaScript 如何在 Firefox 中打开 Windows 设置?

    新安装 Firefox 45 开发版后 我看到了这个页面 它有一个按钮 让我们开始吧 单击该按钮时 会以某种方式打开选择默认应用程序Windows 10 中的设置页面 这是怎么做到的 我无法通过开发者控制台在该页面上迷宫般的代码中找到任何内
  • 使用鼠标检测的反验证码

    我想知道是否可以为仅使用 javascript 的表单创建一个安全的人体检测机制 不使用验证码 来检测鼠标移动 因为 jquery 或操作系统代码都可以移动鼠标 我是这么告诉的 这是我的计划 使用 jQuery 我可以检测鼠标是否已移动 然
  • 限制 SQL Server 连接到特定 IP 地址

    我想将 SQL Server 实例的连接限制为特定 IP 地址 我想阻止来自除特定列表之外的任何 IP 地址的任何连接 这是可以在 SQL Server 实例或数据库中配置的东西吗 听起来像是你会使用Windows防火墙 http tech
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 在没有默认 java.policy 文件的情况下运行 Java 安全管理器

    我不想修改 java 主目录中的任何内容 但是 我担心有时我的默认 java policy 文件可能过于宽松 当我使用以下命令运行 java 时 有没有办法使用指定的策略文件作为唯一的策略文件 Djava security manager
  • 自定义代码访问安全属性

    我创建了以下属性 Serializable AttributeUsage AttributeTargets Class AttributeTargets Method AllowMultiple true Inherited true pu
  • .NET 中是否有内置函数可以对密码进行哈希处理?

    我看到这个问题加密 散列数据库中的纯文本密码 https stackoverflow com questions 287517 encrypting hashing plain text passwords in database 我知道我
  • 为什么 RFC 6797 禁止通过纯 HTTP 响应发送 Strict-Transport-Security 标头?

    在阅读 HSTS 严格传输安全 规范时 我看到了一条禁令第 7 2 节 https www rfc editor org rfc rfc6797 section 7 2禁止在通过 http 而不是 https 访问时发送标头 HSTS 主机
  • tomcat 7上部署war时出现死循环

    我尝试将战争部署到 Tomcat 7 0 29 中 我有以下日志堆栈 GRAVE Error waiting for multi thread deployment of context descriptors to complete ja
  • 在 Bash 中监控 tomcat,直到它完成部署 war 或应用程序

    怎么可能Tomcat在 bash 脚本中进行监控以检测它是否完成了战争或应用程序的部署 应用场景 Tomcat 开始于systemd Tomcat 开始于catalina sh 使用 Tomcat 管理器 Tomcat从Eclipse启动

随机推荐

  • CouchDB 查询性能

    如果文档数量越多 CouchDB 中数据查询是否会变慢 示例场景 我有一个用于客户名称表单的组合框 当用户输入客户名称时 我必须进行自动填充 CouchDB 中将有大约 10k 个客户文档 我知道我必须创建一个视图才能执行相同的操作 Cou
  • DacPac 错误太大 - 但我的文件只有 406kb

    我正在尝试将我的数据库上传到 SQL Azure 我已创建 DCA 包并开始上传过程 但是 我立即收到以下错误 指定的 DacPac 太大 允许的最大 DacPac 大小为 5242880 字节 我不明白为什么上传文件为 406KB 时会出
  • iOS:删除 UINavigationBar 动画

    我们的应用程序有一个 UINavigationBar 上面有图像 当我们转到 推送 到另一个屏幕然后单击后退按钮时 导航栏上的图像在重新出现时似乎会从左到右进行动画处理 这有点让人分心 如何删除这个后退按钮动画 我们尝试更改 segue A
  • 抽屉导航在 Windows Phone 8.1 中有时无法工作[RT] [已关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在使用抽屉布局找到代码msdn https code msdn microsoft com windowsapps Windows
  • .NET Core 2.0 中 IServiceCollection 缺少扩展方法 AddJwtBearerAuthentication()

    我已使用以下说明将我的项目从 Core 1 1 更新到 Core 2 0https blogs msdn microsoft com webdev 2017 08 14 announcing asp net core 2 0 https b
  • 如何使用 AWS AppSync 进行无服务器开发?

    我有一个关于开发无服务器应用程序的一般性问题AWS 应用程序同步 https aws amazon com appsync 尤其 我们正在考虑为一个小项目采用无服务器 我想知道人们在创建 无服务器 应用程序时通常如何设置他们的开发环境 我已
  • 调整

    我有一个包含子菜单的菜单 它的 HTML 源代码如下所示 ul li a href Menu 1 a ul li a href Item 1 a a a li li a href Subitem 1 a ul li a href Subsu
  • 是否可以在 Typescript 中定义非空数组类型?

    我有一个数字列表 我知道这些数字永远不会为空 是否可以在 Typescript 中定义一个永远不为空的数组 我知道像这样的元组是可能的 number number 但这不起作用 因为我的数组可以是任何大小 我想我正在寻找的是NonEmpty
  • 无法计算 Vim 中的匹配数

    如何计算 Vim 中的匹配数 例如 对于文本
  • 谷歌大查询中行之间的差异

    我目前正在尝试计算谷歌大查询中行之间的差异 我实际上有一个有效的查询 SELECT id record time level lag level lag as diff FROM SELECT id record time level LA
  • Java 8 使用 Lambda 过滤数组

    我有一个double 我想在一行中过滤掉 创建一个没有的新数组 负值而不添加for循环 使用 Java 8 lambda 表达式可以实现这一点吗 在 python 中 使用生成器将是这样的 i for i in x if i gt 0 在
  • 为什么不能在类声明中使用“is_base_of”(不完整类型)?

    我完全明白为什么会这样cannot work class Base class A static assert std is base of
  • Android - getAdapterPosition() 在删除项目后返回 -1

    标题说明了一切 我有一个RecyclerView它用于动态存储值 但一次只能存储一项 该项目包含 3TextViews 当我正常添加所有项目时 它可以工作 但是当我添加 x 项目 然后删除最后一项 然后单击 提交 时 应用程序崩溃 I do
  • 正则表达式 - 将匹配的文本移动到行的前面

    我一直在使用正则表达式 在 textmate 查找和替换工具中 将我收到的值表重新格式化为 PHP 数组 我已经完成了大部分工作 但仍在为最后的改变而苦苦挣扎 当前状态 subSectors 1 Crop Animal Production
  • 从 NodeJS 查询 Oracle 数据库中的大数据集

    我目前正在开展一个工作项目 其中我有一个 Oracle 10 数据库表 其中包含约 310K 的给予或获取 10 30K 行 目标是在有角度的前端中显示这些行 但是通过 NodeJS 返回所有这些行需要花费大量时间 鉴于我是第一次使用 No
  • 仅允许访客在 WooCommerce 中结帐特定产品

    以下代码将自定义字段添加到管理产品设置 以在产品级别管理访客结账 Display Guest Checkout Field add action woocommerce product options general product dat
  • 如何在角度应用程序的故事书中加载全局scss文件?

    我正在尝试加载故事书中的自定义全局样式文件 theme default scss 虽然我的组件正在故事书中加载 但样式没有被应用 我遵循了本教程故事书官方文档 https storybook js org docs configuratio
  • 为什么VARCHAR需要长度指定?

    为什么我们总是需要指定VARCHAR length 而不是仅仅VARCHAR 无论如何它都是动态的 UPD 我特别困惑的是它是强制性的 例如在 MySQL 中 VARCHAR 的 长度 不是内容的长度 而是内容的最大长度 VARCHAR 的
  • Pandas:替换字符串列值

    我有一个 pandas 数据框 其中有一个我正在尝试格式化的成本列 基本上 替换字符串并将其标准化 因为成本值是从不同来源提取的 还有一些 NaN 这是一些示例数据 2 75 nan 4 150000 25 00 4 50 我有以下代码 用
  • 在tomcat中配置内容安全策略

    我读到了有关配置 实现 Content Security Policy 标头的信息 并且遇到了两种执行此操作的方法 使用实现 Filter 的自定义过滤器 如下所示this https stackoverflow com questions