问题标签 [strict-transport-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ssl - Is there anyway I can use Strict-Transport security
Is there any way to use a Strict-Transport security header on a site but still have non-ssl sub-domains?
security - 启用 HSTS 后是否可以从非安全连接重定向到安全连接?
我最近开始在我的一个网站上提供“strict-transport-security”标头。我没有预料到的一个问题是我的 SSL 证书仅涵盖 mydomain.com,因此如果用户访问 www.mydomain.com,而不是被重定向(就像以前发生的那样),他们会看到浏览器出现安全错误由于新标头不允许所有非 https 通信。
由于各种原因,我正在使用多域证书,因此不能简单地购买添加了“www”的新证书。
我理解为什么这是预期的行为,但是我想知道是否无论如何我都可以将 www 重定向到非 www,尽管 www 在 www 域上没有有效证书?
如果有什么不同,我的服务器正在运行 Ubuntu。
javascript - Cookie 在 JavaScript(和开发工具)中不可访问,但与 XHR 请求一起发送(不使用 httponly)
我在具有基于会话的授权的不同域上同时使用前端和后端应用程序。我已经设置了一个有效的 CORS 配置,它可以按预期工作localhost
(例如从端口:9000
到端口:8080
)。一旦我在安全域上部署应用程序(两个域都只允许 HTTPS),CSRF cookie 就无法再在 JavaScript 中访问,导致前端的后续请求不正确(缺少 CSRF 标头)。
cookie 由后端在Set-Cookie
标头中设置,而不使用HttpOnly
标志。它实际上是在浏览器的某个地方设置的,因为后续请求中同时包含会话 cookie 和 CSRF cookie。尝试通过 JavaScript 访问它(例如document.cookie
在控制台中使用)会返回一个空字符串。Chrome 的 DevTools 不会在前端域上显示任何cookie(甚至没有列出后端域)。
我期望 cookie 被设置并在当前域(前端域)上可见。我正在使用axios库的withCredentials
标志。
您知道为什么无法从 JavaScript 或 Chrome 中的 DevTools 访问 cookie 吗?这和Strict-Transport-Security
标题有关系吗?
标头
1. 初始 GET 响应头
2.后续POST请求头
此请求应包含一个 CSRF 标头,如果 cookie 可通过 JavaScript 访问,则会自动添加该标头。
http-headers - 响应 Swisscom CloudFoundry 应用程序的两次标头“Strict-Transport-Security”
将 Swisscom CloudFoundry 解决方案与 Spring Boot 应用程序一起使用时,Strict-Transport-Security
会向 HTTPS 响应添加两个标头。我调查了这个问题,发现 CloudFoundry 解决方案添加了几个标头。默认情况下,Spring BootStrict-Transport-Security
也已经添加了标头(在安全站点上),这会导致两个不同的 HSTS 标头。
我想在我的应用程序中配置我的应用程序的标头。有没有办法禁用 Swisscom CloudFoundry 解决方案的自动标头添加?
如果没有,有没有办法告诉 Swisscom Cloud 覆盖现有的Strict-Transport-Security
标头而不是将其附加到标头列表中?
来自 Spring Boot 应用程序的 HTTP 响应,部署了 Swisscom Cloud,然后包含以下两个标头:
security - 我应该为哪些 Content-Types 设置与安全相关的 HTTP 响应标头?
我已经构建了一个 Web 应用程序(使用我最喜欢的语言Fantom!),并且正在通过提供行业标准的 HTTP 响应标头来锁定它免受 XSS 和其他此类攻击。
我的问题是,应该为哪些响应设置标题?
我可以为每个响应设置标题,但这似乎很浪费,因为大多数请求都是针对图像、字体、样式表等的。Content-Security-Policy
尤其是标题可能会变得很长。
由于很多标题都与拥有的 HTML 页面(以及其中包含的 Javascript)有关,我觉得它们中的大多数只需要为 HTML 页面设置。
我查看了各种资源,例如:
虽然他们解释了标题的作用,但他们没有解释应该为哪些资源使用和服务!
我在下面列出了 HTTP 响应标头,Content-Types
我认为它们应该被提供。但是有谁知道这是否正确?
(当我说text/html
我还包括时application/xhtml+xml
。)
Referrer-Policy
由于 CSS 能够加载字体和图像,因此属于所有内容类型。
security - 如果我通过 HTTP 预加载带有不必要 HSTS 标头的 HSTS,会发生什么?
我网站上的 HTTP 页面发送一个 HSTS 标头。这对 HTTP 没有影响,应该被删除。但是,如果我决定不删除错误并通过 HSTS 预加载表单预加载我的网站怎么办?怎么了?
scala - 如何使用 scala 代码在 Play framework 2.3.x 中启用 HSTS?
我有一个在 Sbt 上运行的 Play Framework 2.3.6 版本应用程序,使用带有 scala 编码的 Sbt SSL 端点......
我想在标题中看到(hsts)严格的传输安全响应。
我正在使用 URL http://localhost:9000 在邮递员本地尝试
如何编写代码?
最好的方法是什么?玩 2.3
我在play blog中搜索并了解到2.6及更高版本支持重定向过滤器,但我仅使用2.3.x版本。
是否提供了任何最佳解决方案来使用 HTTP 在 postman 中进行本地测试。这样我就可以在响应中看到 hsts 标头。
注意:我在生产模式下阻止了 HTTP。我只能在生产中使用 https。
jetty - 如何为 jetty 9.2.25 设置严格的传输安全标头
我正在尝试为我的码头服务器 9.2.25 添加严格的传输安全标头
我试图将规则添加到我的 jetty-config.xml,但它似乎不起作用。
为了检查它是否正常工作,我尝试查看 curl 输出,它没有显示 Strict-Transport-Security 信息。实际上,它应该在 curl 输出中显示以下行。
严格的传输安全性:max-age=31536000;包括子域
root@ip:~#curl -k --head https://ip:443
HTTP/1.1 200 正常
X-Frame-选项:拒绝
内容类型:text/html;charset=UTF-8
设置 Cookie:JSESSIONID=157bfeip315gbmb796uh2yq4m;路径=/;安全
过期:1970 年 1 月 1 日星期四 00:00:00 GMT
Pragma:无缓存
缓存控制:无存储
内容长度:8246
服务器:码头(9.2.25.v20180606)
请让我知道此配置中是否需要任何更改/配置码头 Web 服务器以添加 HSTS 标头的任何其他方式。
谢谢你的帮助。
google-chrome - 如何针对 HSTS 标头检查 wesbites 列表?
我需要检查网站列表以检查它们是否支持 HSTS 政策。
我抓住了他们的回复标题。但是,我现在很困惑,因为看起来 HSTS 策略订阅可以通过预加载的列表来完成,而不仅仅是标题(我可能错了,但我不明白这一点)。
检查网站响应标头(即查找Strict-Transport-Security
标头)是否可以正确回答以下问题:网站是否支持 HSTS 政策?
因为有一个预加载列表。我不确定:网站可以在不发送 HSTS 标头的情况下订阅列表吗?即网站可以在不发送Strict-Transport-Security
标头的情况下支持 HSTS 策略吗?
我在这里查看了 Chrome 的 HSTS 预加载列表订阅页面。它说:
如果您的站点致力于 HTTPS 并且您希望预加载 HSTS,我们建议执行以下步骤:[...] 将 Strict-Transport-Security 标头添加到所有 HTTPS 响应并逐步提高 max-age,使用以下标头值:[...]
谁能给我澄清一下。首先,suggest
Chrome 的页面中的词不清楚。这是必须的吗?还是可选的?第二,如果是必须的,那么,如果要订阅列表的网站无论如何都需要发送HSTS标头,为什么要订阅列表?这个列表是否只是为了提供一种保护第一个连接的方法(不能使用 HSTS 标头方法保护)?或者它是双重检查的意思或类似的东西?请向我澄清。
底线问题:我检查标题是否足以说明给定网站是否支持 HSTS 政策,而无需根据 Chrome 预加载列表检查网站?
如果需要根据 Chrome 的 HSTS 预加载列表检查网站,请指点我如何自动执行此操作(我无法手动执行此操作,因为我的网站列表不是一个或两个)。此外,如何根据过去(几个月前)的特定日期列表检查网站。
java - Spring Strict Transport Security (HSTS) 配置不起作用
我正在尝试在我的 Spring Boot 应用程序中启用 HSTS。我已将以下内容添加到我的 WebSecurityConfig 中(基于Enable HTTP Strict Transport Security (HSTS) with spring boot application):
在 HTTPS 请求中,我确实得到了strict-transport-security
标头,但 max-age 始终是0
:
如果我不添加 Spring 配置,我会得到完全相同的标题,所以看起来我的配置没有被拾取。它似乎特定于 HSTS 配置,因为其他配置(例如http.authorizeRequests()
)正在工作。这似乎表明 HSTS 配置以某种方式被覆盖,尤其是考虑到Spring 的默认max-age 为一年时。但是,我已经能够在我们的代码库中找到任何其他与 HSTS 相关的配置。
我还尝试设置断点o.springframework.s.c.a.w.c.HeadersConfigurer.HstsConfig#maxAgeInSeconds
以检查它是否被多次调用。我的电话configure
是唯一的调用。
有谁知道为什么不使用我的 HSTS 配置?或者您对如何调试有任何其他想法?