fix: styling

pull/388/head
Robert 2022-10-02 19:11:50 +03:00 committed by GitHub
parent e0db1ac498
commit 8935e9098b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 27 deletions

View File

@ -38,10 +38,7 @@ export default (domains, global) => {
config.push(['add_header Content-Security-Policy', `"${global.security.contentSecurityPolicy.computed}" always`]); config.push(['add_header Content-Security-Policy', `"${global.security.contentSecurityPolicy.computed}" always`]);
if (global.security.permissionsPolicy.computed) if (global.security.permissionsPolicy.computed)
config.push([ config.push(['add_header Permissions-Policy', `"${global.security.permissionsPolicy.computed}" always`]);
'add_header Permissions-Policy',
`"${global.security.permissionsPolicy.computed}" always`,
]);
// Every domain has HSTS enabled, and they all have same hstsSubdomains/hstsPreload settings // Every domain has HSTS enabled, and they all have same hstsSubdomains/hstsPreload settings
if (commonHsts(domains)) { if (commonHsts(domains)) {

View File

@ -181,7 +181,6 @@ THE SOFTWARE.
import delegatedFromDefaults from '../../util/delegated_from_defaults'; import delegatedFromDefaults from '../../util/delegated_from_defaults';
import computedFromDefaults from '../../util/computed_from_defaults'; import computedFromDefaults from '../../util/computed_from_defaults';
import PrettyCheck from '../inputs/checkbox'; import PrettyCheck from '../inputs/checkbox';
const defaults = { const defaults = {
referrerPolicy: { referrerPolicy: {
default: 'no-referrer-when-downgrade', default: 'no-referrer-when-downgrade',
@ -198,8 +197,7 @@ THE SOFTWARE.
enabled: true, enabled: true,
}, },
contentSecurityPolicy: { contentSecurityPolicy: {
default: default: 'default-src \'self\' http: https: ws: wss: data: blob: \'unsafe-inline\'; frame-ancestors \'self\';',
'default-src \'self\' http: https: ws: wss: data: blob: \'unsafe-inline\'; frame-ancestors \'self\';',
enabled: true, enabled: true,
}, },
permissionsPolicy: { permissionsPolicy: {
@ -222,37 +220,27 @@ THE SOFTWARE.
default: '~/security.txt', default: '~/security.txt',
enabled: true, enabled: true,
}, },
blockCommonExploits: {
default: false,
enabled: true,
},
}; };
export default { export default {
name: 'GlobalSecurity', // Component name name: 'GlobalSecurity', // Component name
display: 'templates.globalSections.security.security', // Display name for tab (i18n key) display: 'templates.globalSections.security.security', // Display name for tab (i18n key)
key: 'security', // Key for data in parent key: 'security', // Key for data in parent
delegated: delegatedFromDefaults(defaults), // Data the parent will present here delegated: delegatedFromDefaults(defaults), // Data the parent will present here
components: { components: {
PrettyCheck, PrettyCheck,
VueSelect, VueSelect,
}, },
props: { props: {
data: Object, // Data delegated back to us from parent data: Object, // Data delegated back to us from parent
}, },
computed: { computed: {
...computedFromDefaults(defaults, 'security'), // Getters & setters for the delegated data ...computedFromDefaults(defaults, 'security'), // Getters & setters for the delegated data
hasWordPress() { hasWordPress() {
return this.$parent.$parent.$data.domains.some( return this.$parent.$parent.$data.domains.some(d => d && d.php.wordPressRules.computed);
d => d && d.php.wordPressRules.computed,
);
}, },
hasWordPressUnsafeEval() { hasWordPressUnsafeEval() {
return ( return this.$props.data.contentSecurityPolicy.computed
this.$props.data.contentSecurityPolicy.computed.match( .match(/(default|script)-src[^;]+'self'[^;]+'unsafe-inline'[^;]+'unsafe-eval'[^;]*;/) !== null;
/(default|script)-src[^;]+'self'[^;]+'unsafe-inline'[^;]+'unsafe-eval'[^;]*;/,
) !== null
);
}, },
hasWarnings() { hasWarnings() {
return this.hasWordPress && !this.hasWordPressUnsafeEval; return this.hasWordPress && !this.hasWordPressUnsafeEval;