Shun Miyazawa 3 سال پیش
والد
کامیت
d71d70abeb
1فایلهای تغییر یافته به همراه7 افزوده شده و 11 حذف شده
  1. 7 11
      packages/app/src/services/xss/xssOption.ts

+ 7 - 11
packages/app/src/services/xss/xssOption.ts

@@ -1,28 +1,24 @@
-import { defaultSchema } from 'rehype-sanitize';
-
-type RehypeSanitizeTags = typeof defaultSchema.tagNames;
-type RehypeSanitizeAttributes = typeof defaultSchema.attributes;
-
 export type XssOptionConfig = {
   isEnabledXssPrevention: boolean,
-  tagWhiteList: RehypeSanitizeTags
-  attrWhiteList: RehypeSanitizeAttributes,
+  tagWhiteList: any[],
+  attrWhiteList: any[],
 }
 
 export default class XssOption {
 
   isEnabledXssPrevention: boolean;
 
-  tagWhiteList: RehypeSanitizeTags;
+  tagWhiteList: any[];
 
-  attrWhiteList: RehypeSanitizeAttributes;
+  attrWhiteList: any[];
 
   constructor(config: XssOptionConfig) {
+    const recommendedWhitelist = require('~/services/xss/recommended-whitelist');
     const initializedConfig: Partial<XssOptionConfig> = (config != null) ? config : {};
 
     this.isEnabledXssPrevention = initializedConfig.isEnabledXssPrevention || true;
-    this.tagWhiteList = initializedConfig.tagWhiteList || defaultSchema.tagNames;
-    this.attrWhiteList = initializedConfig.attrWhiteList || defaultSchema.attributes;
+    this.tagWhiteList = initializedConfig.tagWhiteList || recommendedWhitelist.tags;
+    this.attrWhiteList = initializedConfig.attrWhiteList || recommendedWhitelist.attrs;
   }
 
 }