SonarJs по-прежнему показывает предупреждение о междоменной проблеме postMessage - PullRequest
0 голосов
/ 11 января 2019

Сообщение об ошибке: "make sure this cross-domain message is being sent to the intended domain".

Это правило проверки из RSPEC-2819

Авторы не должны использовать ключевое слово подстановки (*) в аргументе targetOrigin в сообщениях, которые содержат какую-либо конфиденциальную информацию, поскольку в противном случае невозможно гарантировать, что сообщение будет доставлено только получателю, для которого оно было предназначено.

Я предполагаю, что требования * не могут быть использованы как targetOrigin, но он по-прежнему показывает предупреждение, когда я использую предполагаемый домен как targetOrigin, как показано ниже:

enter image description here

Пожалуйста, кто-нибудь может сказать мне, как пройти этот чек,

Любая помощь будет оценена

1 Ответ

0 голосов
/ 22 января 2019

Это правило обнаруживается только в том случае, если метод postMessage вызывается для объекта с именем, содержащим window. Исходный код: PostMessageCheck.java . Чтобы обойти это, просто присвойте свой contentWindow объект другому, например так:

var content = this.elem.contentWindow;

content.postMessage('your message', window.location.origin);
...