iframe postMessage()跨域安全问题

时间:2018-11-11 09:47:46

标签: javascript iframe cross-domain postmessage

我开发了可以通过iframe嵌入到任何网站中的应用。用户获得了一个脚本,该脚本创建了一个类似于(对讲,漂移...)的按钮,当单击该按钮时,iframe会附加到页面上,然后作为模式打开。小部件接受个人信息并通过Stripe处理付款。所有信息都输入到iframe中,而不从父页面发送。

模式中有一个close [x]按钮,当单击该模式时,该模式通过发送到父页面的postMessage事件被隐藏。

// inside iframe
$('#CloseModal').on('click', function() {
   parent.postMessage({ hide: 'hide-modal'}, '*');
});

// in parent page
var modal = document.getElementById('#IframeModal');
window.onmessage = function(msg) {
   if (msg.data.hide === 'hide-modal') {
      modal.style.display = 'none';
   }
};

我无法设置原始域,因为很难控制用户要嵌入窗口小部件的确切域。我需要在iframe和父级之间发送消息的唯一原因是,用户可以从iframe中关闭模式。

我的问题是,这是否是从iframe发送到父级的唯一消息,而从父级发送到iframe的其他消息是否没有,我将自己或客户网站暴露给哪种安全性?

注意:我已经进行了很多研究,但找不到关于我的问题的任何具体信息。

0 个答案:

没有答案