2014-02-03 3 views
9

Я получаю эту ошибку:Доступ к кадру имеет протокол «https», доступ к кадру имеет протокол «http». Протоколы должны соответствовать

неперехваченного SecurityError: Blocked кадра с началом «https://lss-servicedesk.techteam.com» доступа кадра с началом «http://mydomain.com».
Кадр, запрашивающий доступ, имеет протокол «https», доступ к кадру имеет протокол «http». Протоколы должны совпадать.

<FORM ACTION=https://lss-servicedesk.techteam.com/CAisd/pdmweb.exe METHOD=POST onsubmit="return checkform(this);"> 

Есть ли способ обойти эту проблему? спасибо заранее ...

+1

Решение заключается в том, чтобы запускать SSL из вашего домена или захватывать их содержимое по незащищенному небезопасному http (если они его поддерживают) –

+0

Когда вы получите эту ошибку? Когда HTML анализируется? – Bergi

+0

Я не вижу ничего, ссылающегося на фреймы в HTML, который вы опубликовали. – Barmar

ответ

6

Вы получаете 2 ошибки здесь. Первая из них представляет собой проблему между доменами, и вы не сможете это исправить. Невозможно, чтобы ваш сайт мог получить доступ к загруженному сайту iframe вообще. В противном случае браузер будет действительно небезопасным, позволяя одному сайту очень легко получить настройки пользователя на другом сайте, просто загрузив iframe. Таким образом, вы не можете изменить что-либо в iframe. Единственное, что вы можете сделать для содержимого iframe: iframeElement.src = '//otherurl.com'; - изменение исходного URL-адреса iframe.

Чтобы устранить вторую проблему, вы можете сделать следующее: Вместо того, чтобы использовать http:// или https:// в URL вы определяете в сценариях или формы, то вы можете просто использовать //. Это автоматически «заполнит» тот же протокол, что и тот, который вы используете сейчас. Итак, если вы сейчас на http://, он загрузит iframe в http:// тоже, и наоборот.

+4

Обратите внимание, что использование URL-адреса, относящегося к протоколу, требует, чтобы страница iframe-source фактически поддерживала запросы HTTP и HTTPS. –

+2

Действительно ли '': // и т. Д. Действительно работает для [относительного URL-адреса протокола] (https://www.google.com/search?q=protocol+relative+url)? Те, что я видел, всегда были в форме '' // и т. Д. ». Думаю, я бы рекомендовал это только ради согласованности и знакомства, даже если оба стиля работают. –

+0

Какое обоснование для http-сайта не может отображать https iframe? Кажется, это только сафари, и это не имеет никакого смысла. Предотвращение небезопасного контента на защищенной странице имеет смысл; предотвращение безопасного содержимого на небезопасной странице. –

0

У меня была такая же проблема с двумя разными доменами, идущими на мой веб-сервер. У обоих из них были установлены настройки DNS для перенаправления domain.com (без www) на http://www.domain.com. У одного домена были проблемы, похожие на ваши, но оказалось, что это произошло из-за ошибки DNS, где мы установили FRAME в yes. После настроек FRAME нет, он решил обе проблемы (ошибка кадра и ошибка http/https). Это мелочь, но она вызвала ту же ошибку, поэтому просто хотела упомянуть об этом как о другой возможности для кого-то еще, кто должен наткнуться на эту нить.

Смежные вопросы