Заблокирован фрейм с источником от доступа к фрейму перекрестного происхождения в WordPress - PullRequest
0 голосов
/ 25 ноября 2018

Я работаю над веб-сайтом, скажем, имя веб-сайта "https://website" (которое построено на WordPress) , в котором я получаю следующую ошибку на консоли:

Uncaught DOMException: Blocked a frame with origin "https://website" from accessing a cross-origin frame.

    at contents (https://website/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,utils,underscore,wp-util,backbone,&load%5B%5D=moxiejs,plupload&ver=4.9.8:2:26921)

    at Function.map (https://website/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,utils,underscore,wp-util,backbone,&load%5B%5D=moxiejs,plupload&ver=4.9.8:2:3613)

    at a.fn.init.n.fn.(anonymous function) [as contents] (https://website/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,utils,underscore,wp-util,backbone,&load%5B%5D=moxiejs,plupload&ver=4.9.8:2:27001)

    at b (https://website/wp-admin/load-scripts.php?c=1&load%5B%5D=postbox,thickbox,hoverIntent,common,admin-bar,wp-a11y,updates,plugin-install,svg-painter,heartbeat,wp-auth-check,shortcode,wp-ba&load%5B%5D=ckbone,media-models,wp-plupload,wp-mediaelement,wp-api-request,media-views,media-editor,media-audiovideo,mce-view,imgareaselect,&load%5B%5D=image-edit&ver=4.9.8:347:103)

    at HTMLBodyElement.<anonymous> (https://website/wp-admin/load-scripts.php?c=1&load%5B%5D=postbox,thickbox,hoverIntent,common,admin-bar,wp-a11y,updates,plugin-install,svg-painter,heartbeat,wp-auth-check,shortcode,wp-ba&load%5B%5D=ckbone,media-models,wp-plupload,wp-mediaelement,wp-api-request,media-views,media-editor,media-audiovideo,mce-view,imgareaselect,&load%5B%5D=image-edit&ver=4.9.8:347:1306)

    at HTMLBodyElement.dispatch (https://website/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,utils,underscore,wp-util,backbone,&load%5B%5D=moxiejs,plupload&ver=4.9.8:3:12444)

    at HTMLBodyElement.r.handle (https://website/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,utils,underscore,wp-util,backbone,&load%5B%5D=moxiejs,plupload&ver=4.9.8:3:9173)

    at Object.trigger (https://website/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,utils,underscore,wp-util,backbone,&load%5B%5D=moxiejs,plupload&ver=4.9.8:3:11573)

    at Object.a.event.trigger (https://website/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,utils,underscore,wp-util,backbone,&load%5B%5D=moxiejs,plupload&ver=4.9.8:9:8275)

    at HTMLDivElement.<anonymous> (https://website/wp-admin/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,utils,underscore,wp-util,backbone,&load%5B%5D=moxiejs,plupload&ver=4.9.8:3:18991)

Вышеуказанная ошибка генерируется нажатием на View Details секцию плагинов WordPress (как показано ниже):

enter image description here

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


Постановка проблемы:

Мне интересно, какой файл мне нужно изменить в WordPress, чтобы решить эту ошибку. Эта ошибка, кажется, существует в каждом плагине WordPress. Как уже упоминалось, он работает в новой вкладке, но не работает на той же странице .

У меня такое ощущение, что я должен внести некоторые изменения в следующий файл, увидев ошибку выше( load-scripts.php, так как ошибка генерируется в этом файле ), но не уверен, какая строкаМне нужно добавить, чтобы это работало.

https://website/wp-admin/load-scripts.php

1 Ответ

0 голосов
/ 28 ноября 2018

Что-то плохое произошло с вашим интерфейсом администратора WordPress.

Первое, на что нужно обратить внимание, это то, что описанная вами ошибка - это хорошо известная проблема, о которой вы, возможно, уже заметили: SecurityError: заблокирован фрейм с источником из-за доступа к фрейму перекрестного происхождения

Посмотрите на первый ответ:

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

Протокол, имя хоста и порт должны совпадать с вашего домена, если вы хотите получить доступ кframe.

Второе, на что нужно обратить внимание, - это то, что делает кнопка «View details» в интерфейсе администратора WordPress: она открывает файл ThickBox и iframe, который показывает удаленное содержимое довольночасто в пределах IFrame.Как это работает, точно описано здесь: https://codex.wordpress.org/Javascript_Reference/ThickBox

load-scripts.php - это важный основной файл WordPress, загруженный в администратор, который используется для загрузки файлов JavaScript без необходимости встраивания каждого из них.Эти файлы JavaScript обычно добавляются к администратору WordPress с помощью функции admin_enqueue_scripts() (https://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts).

Поскольку ваша проблема довольно необычна, а кнопка «Просмотреть подробности» для плагинов работает почти каждый раз, когда есть толькодве возможности:

1. IFrame «View Details» обычно загружается из того же места, где находится ваш WordPress - поэтому у вас может быть проблема, связанная с тем, что браузер хочет загрузить его с другого хоста

Это происходит, если в вашей установке WordPress имеется некоторая неверная конфигурация, а Thickbox пытается получить IFrame от хоста, который браузер считает другим хостом. Правильно настройте WordPress.

2. У вас есть плохо запрограммированный плагин или тема, которая внедряет скрипт, вызывающий эту проблему

Решение: Деактивируйте вашу тему и все ваши плагины один за другим и посмотрите, существует ли ошибка по-прежнему.Таким образом, вы можете узнать модификацию, которая вызывает проблему, и, возможно, сделать ошибкузапросите разработчиков плагинов.

Почти на 100% уверен, что один плагин, тема или неправильная конфигурация вызывают эту проблему.

...