Как включить CORS в Firefox?

может кто-нибудь, пожалуйста, скажите мне, как я разрешаю CORS на firefox? Я легко управлял им в Chrome и IE, но я полностью не справляюсь с Firefox. Я отредактировал следующее о: config entry

security.fileuri.strict_origin_policy = false

эта попытка была опубликована несколько раз здесь и рассказывается на других сайтах, но она не имеет никакого эффекта. Я прочитал руководство Mozilla по политике Same-origin:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

но это просто объясняет CORS и связанные темы. Обходной путь, чтобы включить его на FF, не указан.

Я был бы очень признателен за окончательное решение.

ps: FORCECORS тоже не работает...

6 ответов


ничего не делать в браузере. CORS поддерживается по умолчанию на всех современных браузерах (и начиная с Firefox 3.5).

сервер, к которому обращается JavaScript, должен предоставить сайту, на котором размещен HTML-документ, в котором JS выполняет разрешение через заголовки ответов HTTP CORS.


security.fileuri.strict_origin_policy используется для предоставления JS в локальных HTML-документах доступа ко всему вашему жесткому диску. Не устанавливайте его на false поскольку это делает вас уязвимыми для атак из загруженного HTML документов (включая вложения электронной почты).


это возможно только тогда, когда сервер отправляет этот заголовок: Access-Control-Allow-Origin: *

Если это ваш код, вы можете настроить его следующим образом (PHP):

header('Access-Control-Allow-Origin: *');

Я долгое время сталкивался с этой проблемой (CORS не работает в FF, но работает в Chrome и других). Никакие советы не помогут. Наконец, я обнаружил, что мой локальный поддомен dev (например, sub.образец.dev) не был явно упомянут в /и т. д./хосты, таким образом, FF просто не может найти его и показывает запутанное сообщение об ошибке 'прервана...' в панели инструментов dev.

ввод точного поддомена в мой локальный /и т. д./хосты Исправлена проблема. /и т. д./хосты - это просто текстовый файл в системах unix, поэтому вы можете открыть его под пользователем root и поместить свой поддомен перед ip-адресом "127.0.0.1".


Это дополнение Firefox может работать для вас:

https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/

Он может включать и выключать CORS для целей разработки.


очень часто у вас нет возможности настроить отправляющий сервер, поэтому я изменил XMLHttpRequest.откройте вызов в моем javascript в локальный get-файл.php-файл, в котором у меня есть следующий код:

<?php
  $file = file($_GET['url']);
  echo implode('', $file);
?>

javascript делает это:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    // File content is now in the this.responseText
  }
};
xhttp.open("GET", "get-file.php?url=http://site/file", true);
xhttp.send();

в моем случае это решило ограничение / ситуацию просто отлично. Нет необходимости взломать Firefox или серверы. Просто загрузите файл javascript / html с этим небольшим php файл в сервер,и вы сделали.