FirefoxでCORSを許可する方法を教えてください。 ChromeとIEで簡単に管理できましたが、Firefoxで完全に失敗しています。次のabout:configエントリを編集しました
security.fileuri.strict_Origin_policy = false
この試みはここで数回投稿されており、他のサイトでも伝えられていますが、効果はありません。私は、Same-Origin-policiesに関するMozillaガイドを読みました。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
ただし、CORSと関連トピックのみを説明しています。 FFで有効にする回避策はリストされていません。
最終的な解決策を本当に感謝します。
ps:FORCECORSはどういうわけか機能しません...
ブラウザには何もしません。 CORSがサポートされています デフォルトでは、すべての最新ブラウザー(およびFirefox 3.5以降)。
JavaScriptがアクセスするサーバーは、JSが実行しているHTMLドキュメントをホストしているサイトに、CORS HTTP応答ヘッダーを介して許可を与える必要があります。
security.fileuri.strict_Origin_policy
は、ローカルHTMLドキュメントのJSがハードディスク全体にアクセスできるようにするために使用されます。 false
に設定しないでください。ダウンロードしたHTMLドキュメント(電子メールの添付ファイルを含む)からの攻撃に対して脆弱になります。
サーバーが次のヘッダーを送信する場合にのみ可能です:Access-Control-Allow-Origin: *
これがあなたのコードであれば、次のようにセットアップできます(PHP):
header('Access-Control-Allow-Origin: *');
私は長い間この問題に悩まされていました(CORSはFFでは動作しませんが、Chromeおよびその他)で動作します。アドバイスはありません。最後に、ローカルdevサブドメイン( sub.example.devなど)が/ etc/hostsで明示的に言及されていなかったため、FFはそれを見つけることができず、紛らわしいエラーメッセージを表示します- '中止...'開発ツールパネル。
ローカル/ etc/hostsに正確なサブドメインを入れると、問題が修正されました。 / etc/hostsはUnixシステムでは単なるプレーンテキストファイルであるため、rootユーザーの下で開き、サブドメインを ' 127.0.0.1 'IPアドレス。
このFirefoxアドオンはあなたに役立つかもしれません:
https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/
開発目的でCORSのオンとオフを切り替えることができます。
2つの簡単な手順を覚えておいてください。
about:config
security.fileuri.strict_Origin_policy→false
DTPとAndroidの両方で動作しますが、時々trueに戻ります。
非常に多くの場合、送信サーバーをセットアップするオプションがないため、私がしたことは、javascriptのXMLHttpRequest.open呼び出しを、次のコードを含むローカルのget-file.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ファイルをサーバーにロードするだけで完了です。