Yuki Takei 3 лет назад
Родитель
Сommit
189d4d4ebe
1 измененных файлов с 14 добавлено и 0 удалено
  1. 14 0
      packages/app/src/components/PageEditor/DrawioCommunicationHelper.ts

+ 14 - 0
packages/app/src/components/PageEditor/DrawioCommunicationHelper.ts

@@ -1,3 +1,8 @@
+import loggerFactory from '~/utils/logger';
+
+
+const logger = loggerFactory('growi:cli:DrawioCommunicationHelper');
+
 export type DrawioConfig = {
 export type DrawioConfig = {
   css: string,
   css: string,
   customFonts: string[],
   customFonts: string[],
@@ -26,6 +31,15 @@ export class DrawioCommunicationHelper {
   onReceiveMessage(event: MessageEvent, drawioMxFile: string): void {
   onReceiveMessage(event: MessageEvent, drawioMxFile: string): void {
 
 
     // check origin
     // check origin
+    if (event.origin != null && this.drawioUri != null) {
+      const originUrl = new URL(event.origin);
+      const drawioUrl = new URL(this.drawioUri);
+
+      if (originUrl.origin !== drawioUrl.origin) {
+        logger.debug(`Skipping the event because the origins are mismatched. expected: '${drawioUrl.origin}', actual: '${originUrl.origin}'`);
+        return;
+      }
+    }
 
 
     if (event.data === 'ready') {
     if (event.data === 'ready') {
       event.source?.postMessage(drawioMxFile, { targetOrigin: '*' });
       event.source?.postMessage(drawioMxFile, { targetOrigin: '*' });