問題タブ [cross-domain-policy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 異なるポートでのJSとAPIサーバー間の相互作用
ポートで実行されている API サーバーと、開発マシンのAAAA
ポートで実行されている JS フロントエンド アプリ (emberjs、yeoman を使用) があります。BBBB
ライブ サーバーでは、これらのポートは同じになります。残念ながら、開発マシンではクロス オリジン ポリシーの問題が発生します。
これについて何ができますか?
PS:現在、Chromeを使用して起動することでこれを解決しました
http://localhost:8888/
JS API で絶対ルート パスを使用します。しかし、私はハードコードされた URL と特別なフラグのファンではありません。どちらかのより良い解決策があれば、私に知らせてください!
flash - Flashポリシーファイルが機能しない(同じドメイン、異なるポート)
私は途方に暮れています。Flashがポリシーファイルを正しくロードしていない理由がわかりません。私はこれをフラッシュデバッガーからテストしています。
エラー:
しかし、これは機能します:
crossdomain.xmlへの絶対パスの指定も機能しません。このファイルをブラウザにロードできます。
これでも機能しません(非常に人気のあるブログ投稿からの解決策):
import flash.system.Security;
Security.allowDomain("http://127.0.0.1");
デバッガポリシーファイルのログは次のとおりです。
ここで興味深いのはOK: Policy file accepted
、私が呼び出しているにもかかわらず、メッセージがエラーの後に来ることです。
の前にURLRequest
。そこでURLRequest
、をsetTimeoutに移動すると、ログに次のように表示されます。
したがって、843ポリシーファイルは正常にロードされたようですが、ポート3014ポリシーファイルをロードしようとします(サブポリシーファイルをチェックしている可能性がありますか?)。これは、「Welcometosocket.io」というsocket.ioHTMLページです。そのために失敗するはずはないようです。
デバッガーアラートでこれを受け取ります:
どんなアイデアでも大歓迎です。ありがとうございました!
javascript - .getJSON は機能しますが、.get は機能しません
.getJSON を使用してサーバーから JSON ファイルを取得し、そこからデータを取得し (URL はデータの一部です)、解析された URL から情報を取得する必要がある別の関数を呼び出す関数があります (プレーンなジェーンHTML ページ)。
.
JSON 部分は正常に処理されています。HTML部分は何もしていません。Firebug によると、ページは正しく (200) 返されたようですが、データを取得していません。
JSON ファイルと他のプレーンな HTML ページは同じサーバー上にあり、ディレクトリが異なるだけなので、ドメイン関連の問題ではないと思います。最初に、次を使用してデータを取得しようとしました。
しかし、何らかの理由で、Firefox と Chrome の両方が req.send() で吠えます。私の調査では、これは (クロス) ドメインに関連する問題であると考えられました。ブラウザは、ページがドメイン外のデータを要求していると考えています (すべての関係者は、「company.com」で終わる同じドメインにあります)。
$.get が機能しないのはなぜですか? また、XMLHttpRequest.send() エラーを取り除くにはどうすればよいですか?
javascript - document.domain の変更後、IE で about:blank iframe にアクセスできない
が変更されabout:blank
たときに IE のページに iframeを作成するための回避策を知っている人はいますか?document.domain
document.domain
プロパティが変更された後、IE は空/動的 iframe へのアクセスを許可していないようです。
たとえば、iframe を動的に作成し、そこに html を挿入するとします。
jsfiddle の実際の例を次に示します: http://jsfiddle.net/XHkUT/
FF/Webkit では問題なく動作しますが、IE では動作しません。これは、プロパティが変更された後に作成された iframe に影響するため (上記の例のように)、特にイライラします。document.domain
IE のルールは「変更後に動的/空の iframe を作成すると、document.domain
その DOM にアクセスできなくなる」のようです。
iframesrc
をabout:blank
javascript:void(0)
またはjavascript:""
に設定できませんでした。
php - jQuery のクロスドメイン URL
次のように非常に単純なindex.phpコードを作成しました
この HTML コードでは、ユーザーから番号を取得し、httpgGet.js ファイルを呼び出します。httpGet.js は次のとおりです。
ユーザー番号を isprime.php ファイルに送信し、そこでユーザー番号が素数かどうかをチェックします。$.post('php/isprime.php',.....) と言うと非常にうまく機能しますが、別のコンピューターから isprime.php を呼び出したい場合は機能しません。
つまり、 $.post('192.168.1.1/test/isprime.php'....) で見つからないというエラーが発生します。
ファイルが存在し、ブラウザからの直接呼び出しを使用してコードを実行できます。ブラウザに 192.168.1.1/test/isprime.php と入力すると、ファイルに到達できますが、js ファイルからは失敗します。もちろん、192.168.1.1 にも ping を実行できます。FireBugでもコードをチェックしましたが、完全ではありませんでした。
よく検索した結果、ブラウザではクロス ドメイン コールが許可されていない (セキュリティ上の理由からだと思います) というクロスが見つかりましたが、この問題を解決する解決策が見つかりません。YQLについて何かがあります(これはクエリ言語であり、使用できるかどうかわかりません)。また、cULRについて何かを見ましたが、それもうまくいくかどうかはわかりません。
親切に助けてください。ほんとうに必要だ。ありがとうございます。
javascript - ソーシャル プラグインと API 呼び出しを含む HTML5 ページのコンテンツ セキュリティ ポリシー
以下を含む HTML5 ページに使用することが推奨されるコンテンツ セキュリティ ポリシーは次のとおりです。
1) Facebook プラグイン
2) Twitter プラグイン
3) グーグルプラスワン
4) Google 翻訳
6) cdn.mywebsite.com から
7) ユーチューブ
次のような多くのエラーが発生します。
YouTube 動画の iframe と、Pinterest API などを含む多くのソーシャル ウィジェットを使用しています。君の力が必要。
javascript - クロスドメインアクセスを行う際に「安全でない JavaScript が URL でフレームにアクセスしようとしています」を抑制する方法
別のドメインからフレームにアクセスしようとしたときに発生する「安全でない JavaScript が URL でフレームにアクセスしようとしています」という Chrome 開発ツール コンソールに表示される警告メッセージを抑制する良い解決策を知っている人はいますか?
現在、ウィンドウにアクセスできるかどうかを確認する関数があります。この関数が別のドメインのウィンドウ オブジェクトで実行されるたびに、警告メッセージが Chrome 開発ツール コンソールに表示されます。これは非常に頻繁に発生し、コンソールがこれらすべての警告で汚染され、実際の JS エラーを見つけるのが難しくなります。
コンソールでこれらの警告を抑制する方法があるのではないかと考えていましたか? または、ウィンドウにアクセスできるかどうかを確認するコードを記述するより良い方法はありますか?
これが私がすることです:
actionscript-3 - ローカル環境のフラッシュソケットからTCPサーバーに接続する
コンピューターで使用するクライアントへの配布バージョン用のswfファイルを作成しました。
そのswfファイルからTCPサーバーに接続しています。
テストする前に、AdobeWebサイトのポリシーファイルに関連する記事をいくつか読みました。
私はそれをテストしようとしました、そしてそのためにnodejsとswfファイルを使用しました
しかし、私は失敗しました。これがその様子です。
ルート上のcrossdomain.xml
tcp_server.js
ローカルのswfファイル
とにかく、それは長いコードのようです
テストしたところ、このエラーが発生しました
間違ったコードの場合、xmlsocket:// localhost:843のポリシーファイルは無視されます
コードのどこが悪いのかわかり
ません。ご存知の場合は、お知らせください。
この質問を読んでくださった方に感謝します。
良い1日を。
iframe - クロスドメインiFrameは、さまざまなブラウザでセキュリティエラーを引き起こしますか?
iFrameの自社Webサイト(www.OurCompany.comなど)内で別のツールをホストする必要があります。ツールは別のURL(つまり、www.TheToolSite.com)にあります。
iframeのコンテンツを操作する必要はありません。ただし、コンテンツに合わせてiframeのサイズを変更できる必要があります。
この状況でブラウザはセキュリティ警告またはエラーを出しますか?
asp.net - easyXdm を使用したクロスドメイン AJAX 投稿
easyXdm ライブラリを使用してクロスドメイン AJAX 投稿を機能させようとしています。
私のローカル開発環境には、次の 2 つのサイトがあります。
TestPage.html (AJAX ポスト)
AJAX の投稿を行うと、ブラウザーのコンソールに次のように表示されます。
問題: Web サービスが実際にデータを受信しません。これは、私の AJAX post success 関数が表示thanksDiv
され、* データベースにレコードが作成される必要があるため明らかです。
注:クライアントのサイトで Internet Explorer 6 および 7 の問題を解決するために easyXdm を使用する必要があるため、既存の AJAX ポスト コードを置き換えます。
追加情報: 私の easyXdm ファイルが配置されているファイル構造は次のとおりです。