заблокирован кадр с происхождением «null» от доступа к кросс-оригинальному кадру

Ошибка ‘blocked a frame with origin «null» from accessing a cross-origin frame’ возникает из-за `Cross-originn`запроса. Чтобы решить эту ошибку, у вас есть несколько решений, например, использование `локального веб-сервера` или использование браузера с отключенной `кросс-доменной веб-безопасностью`. В этой статье будут рассмотрены все решения для решения проблем кросс-оригинальности.  

Фото Рейчел Вайн
ОГЛАВЛЕНИЕ
  1. Что такое «блокирует фрейм с происхождением «null» от доступа к кросс-оригинальному фрейму»?
  2. Почему происходит «блокировка кадра с происхождением «null» от доступа к кросс-оригинальному кадру»?
  3. Как решить проблему:
    1. Решение 1: Использовать локальный веб-сервер
    2. Решение 2: Импортировать класс datetime из модуля datetime
    3. Решение 3: Расширения, такие как xampp или Live Server
    4. Решение 4: метод window.postMessage()
  4. Заключение

Что такое «блокировать фрейм с происхождением «null» от доступа к кросс-оригинальному фрейму»?

В Google Chrome есть функция безопасности, которая блокирует фрейм с происхождением null от доступа к кросс-оригинальному фрейму.

Если вы видите ошибку «Заблокирован фрейм с происхождением «null» от доступа к кросс-оригинальному фрейму», это означает, что эта функция безопасности препятствует загрузке содержимого.

 

Почему происходит ошибка «Заблокирован кадр с происхождением «null» от доступа к кросс-оригинальному кадру»?

Это может произойти, когда вы пытаетесь показать материал с другого сайта на своем собственном. Это называется кросс-оригинальным запросом.

Получение доступа к непосредственно из браузера без использования веб-сервиса запрещено по соображениям безопасности, если бы вы могли это сделать, то это было бы серьезной уязвимостью безопасности.

Ниже приведено сообщение об ошибке, которое вы получаете:

`DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame. error.`

 

Как решить проблему «blocked a frame with origin «null» from accessing a cross-origin frame»?

Решение 1:

Разместите свою веб-страницу на локальном веб-сервере или используйте другой браузер, например Firefox.

 

Решение 2: политика кросс-домена отключена

Запустите браузер с отключенной политикой кросс-доменной веб-безопасности/одного происхождения.

⚠️ Отключение политики одинакового происхождения очень рискованно и не должно предприниматься, если вы не уверены в своих действиях.

 

Решение 3: Расширения типа «xampp» или «Live Server»

Вы можете решить эту проблему, установив xampp и переместив все файлы в htdocs или используя расширение типа «Xampp».

 

Решение 4: Метод window.postMessage()

Помня, что политика same-origin не позволяет скриптам получать доступ к содержимому сайтов с различным происхождением, вы можете безопасно включить кросс-оригинальное взаимодействие между объектами Window, используя window.postMessage().

`postMessage(message, targetOrigin)`
`postMessage(message, targetOrigin, [transfer])`

  ℹ Браузеры, придерживающиеся политики одинакового происхождения, предотвращают доступ скриптов к фреймам с различным происхождением.html (https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)

Заключение:

Следует помнить, что отключение политики same-origin (CORS) повлияет только на ваш браузер. Кроме того, отключение настроек безопасности same-origin в браузере позволяет любому сайту получить доступ к кросс-оригинальным ресурсам, что крайне рискованно и должно выполняться только в целях разработки. Только window.postMessage() сейчас является лучшим способом взаимодействия между фреймами/iframe. postMessage

Оцените статью
Procodings.ru
Добавить комментарий