Я разработал приложение, которое можно встроить через iframe на любой веб-сайт. Пользователь получает скрипт, который создает кнопку, похожую на (домофон, дрейф ...), и при нажатии на нее iframe добавляется на страницу, а затем открывается как модальный. Виджет принимает личную информацию и обрабатывает платеж через Stripe. Вся информация вводится в iframe и не передается с родительской страницы.
Внутри модального окна есть кнопка закрытия [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, какой безопасности я подвергаю себя или веб-сайт клиента?
Примечание: я провел много исследований и не смог найти какой-либо конкретной информации по моему вопросу.