【发布时间】:2021-08-31 20:45:35
【问题描述】:
我对 CSP 有疑问。他阻止了我的 GTM 脚本。
我正在使用 gatsby 框架,这是 gatsby-config.js 的一部分,我们在哪里有 CSP 实现
--------gatsby-config.js 代码---------------
resolve: `gatsby-plugin-csp`,
options: {
disableOnDev: true,
reportOnly: false,
mergeScriptHashes: false,
mergeStyleHashes: false,
mergeDefaultDirectives: true,
directives: {
'script-src': `'self' 'unsafe-inline' ${host}`,
'style-src': `'self' data: 'unsafe-inline' ${host}`,
'font-src': `'self' data: ${host} fonts.gstatic.com`
}
}
},
{
resolve: 'gatsby-plugin-htaccess',
options: {
RewriteBase: true,
https: true,
www: true,
SymLinksIfOwnerMatch: true,
host: `${host}`,
custom: `
<IfModule mod_headers.c>
Header always set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "same-origin"
Header set Feature-Policy "geolocation 'self'; vibrate 'none'"
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" early
Header unset Strict-Transport-Security env=!HTTPS
Header set Content-Security-Policy "default-src 'self' ${host}; base-uri 'self' ${host}; connect-src 'self' ${host}; style-src 'self' data: 'unsafe-inline' ${host}; script-src 'self' 'unsafe-inline' ${host}; img-src 'self' https: data: ${host}; font-src 'self' https: data: ${host} fonts.gstatic.com; form-action 'self' https: ${host};"
## Cache
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2)$">
Header set Access-Control-Allow-Origin "*"
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
<FilesMatch "\.(jpg|jpeg|png|gif|ico)$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
<FilesMatch "\.(css|json|js)$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
</IfModule>
`,
},
},
我需要帮助,伙计们。谢!!!
【问题讨论】:
标签: javascript gatsby google-tag-manager content-security-policy gatsby-plugin