大家好,今天我要在JHipster中写有关CSP的内容,或者在JHipster中说内容安全策略。 从现在开始,我将写更多关于Jhipster的文章,因此这是该系列的第一篇文章。 因此,让我们开始吧。 将我们的一个应用程序更新到最新版本时出现问题。 所以我试图一次又一次地查看我的代码。 所以我终于在控制台中出错了;脚本由于安全权限而被阻止。 我再次看了一下,才知道我需要在HTML索引中添加一些标头以完成相同的工作,但是确实如此。 不行。 因此,尝试许多资源没有用。 因此,请查看Github存储库上的对话; 我发现了一些我需要修复的代码。 但是在开始之前,让我们知道什么是CSP或内容安全策略。
Content Security Policy
So according to Mozilla Developers Site, CSP is is an added layer of security that helps to detect and mitigate certain types of attacks, including Cross-Site Scripting (X小号S) and data injection attacks. These attacks are used for everything; from data, theft to site defacement to the distribution of malware.
CSP has a fully backward compatible design. Browsers that don’t support it still work with servers that implement it, and vice-versa: browsers that don’t support CSP simply ignore it, functioning, as usual, defaulting to the standard same-origin policy for web content. If the site doesn’t offer the CSP header, browsers likewise use the standard same-origin policy.
要启用CSP,您需要配置您的Web服务器以返回Content-Security-Policy HTTP标头(有时您会看到X-Content-Security-Policy标头的提法,但这是一个较旧的版本,不需要指定 它)。
或者,该元素可用于配置策略,例如:
我们在网页上使用了各种资源,例如媒体,脚本,图像,因此为了允许这些资源,我们需要使用指令。
Some common directives are listed below (Check others here) :
default-src – Serves as a fallback for the other fetch directives.
font-src – Specifies valid sources for fonts loaded using @font-face.
frame-src – Specifies valid sources for nested browsing contexts loading using elements such as and .
img-src – Specifies valid sources of images and favicons.
media-src Specifies valid sources for loading media using the <audio> , <video> and <track> elements.
object-src Specifies valid sources for the <object>, <embed>, and <applet> elements.
因此,让我们回到主要问题。
CSP Headers in JHipster (Spring Boot)
因此,从Jhipster 5.0.x左右开始,属性CSP头添加到了安全配置中。 您可以在Project folder > src > main > java > package > config > SecurityConfiguration.java。
/**/************
Content Security policy Jhipster
**********/
/* Use directives as per your requirement like image-src and default-src for defaults of all*/
// Single line CSP
.headers()
.contentSecurityPolicy("default-src 'self';")
// Multi Line CSP joined by and
.headers()
.contentSecurityPolicy("default-src 'self';")
.and()
.contentSecurityPolicy("script-src 'self' 'unsafe-eval' 'unsafe-inline' https://www.gstatic.com https://www.google.com http://www.google-analytics.com https://maps.googleapis.com https://storage.googleapis.com;")
* Insert your code here
*/
因此,在上面您可以看到示例。 这样,您可以基于JHipster中的多个指令(如image-src)添加CSP,以用于来自URL或数据的图像:src,script-src(如内联脚本,外部脚本)。
Bonus
您将思考剩下的内容,所以让我告诉您这是奖金,CSP评估员。 因此,在直接申请之前,您可以使用该工具测试CSP是否有效。 您还可以在同一位置获得警告和信息,并附带示例(如果您不知道从何处开始)。 链接在这里 :
希望您喜欢这个职位,继续检查更多消息。 另外,请随时在下面的评论中分享您的观点。 在分享时,也要与您的朋友分享。 继续检查。
Originally published at Tekraze.com