Я хотел бы создать безопасное соединение postMessage (исходное безопасное) с Iframe, созданным во время выполнения.JS - Как безопасно использовать window.postMessage, когда домен отправителя неизвестен
Текущее состояние: У меня есть сценарий, который генерирует IFRAME с определенным доменом (domain.b.com
в приведенном ниже примере). Я хочу, чтобы iframe получал сообщения только из родительского домена (страницы, которая включала мой скрипт). Поскольку родительский домен неизвестен во время выполнения, я думаю о процессе «Рукопожатия», как описано и проиллюстрировано ниже:
- Ждите загрузки Iframe.
- Отправить postMessage из родительского домена с его происхождением.
- Установить разрешенное начало быть первый получил происхождение
Edit: Дополнительная информация:
- На моем сервере у меня есть белый список доменов (например, domain.a.com, any.domain.com, domain.b.com)
- Моя цель - интегрироваться с некоторыми из моих клиентов (например, domain.a.com, domain.b.com)
- После интеграции я хочу предотвратить хак rs, вводящие iframes, которые могут прослушивать конфиденциальную информацию по postMessage
- Я хочу, чтобы избежать проверки белого списка, я предпочитаю давать некоторые acessToken, но не уверен, что такое правильный поток.
Пример 1:
Пример 2:
Это правильный путь для его реализации?
Я считаю, что вы допустили ошибку в своем втором примере. Я думаю, хотел сказать 'postMessage (« any.domain.com »,« domain.b.com »)' в вашем первом postMessage! – Mehran
Вы правы ... извините за это –
Есть ли причина, по которой вы не просто предоставляете родительский домен в URL-адресе, загруженном в iframe ('