問題タブ [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 - Django 管理ポップアップが壊れている
私は Django プロジェクトに取り組んでおり、グッド プラクティスの一環として、静的コンテンツとメディアを Cookie のないドメインから提供しています。もちろん、これを行い、Google アナリティクスなどを引き続き使用するために、www.domain.tld からすべてのドキュメントを提供し、メディアは media.domain.tld から取得し、静的は static.domain.tld から取得します。
これは当初、私が選択した wywiwyg エディターである TinyMCE で問題を引き起こしましたが、次の行を編集tiny_mce.js
して含めることで簡単に解決できました。tiny_mce_popup.js
頂点で。これは基本的document.domain
に、メインの編集ウィンドウと TinyMCE ポップアップを domain.tld に設定します。これは、ソース元のサブドメインがどれだけ深くても関係ありません。うまく機能します(そして移植可能です)。(TinyMCE は、ブラウザーを制御する管理にのみ使用されるため、Array.splice() がクライアント ブラウザーで使用できない可能性があることは気にしません)。
とにかく脱線します。
たとえば、Django Admin ポップアップを使用して新しい M2M アイテムをその場で作成しようとするまでは、すべて問題ありませんでした。ポップアップは正常に表示されますが、ポップアップ ウィンドウのドキュメント ドメインが www.domain.tld に設定され、メイン編集ウィンドウの document.domain がdomain.tld
(上記のように)であるため、ジョブを適切に終了できません。 )。
簡単だと思いました。管理者の base.html ファイルの本文に同じ JS スニペットを追加するだけです。立ち入り禁止。ポップアップの document.domain はdomain.tld
、含まれているスニペットに従って JS コンソールでテストすると実際に設定されますが、新しいオブジェクトを保存しようとするとすぐにリセットされますwww.domain'tld
(また、テスト済みで、JS コンソールでの送信後) 、そしてもちろん、ウィンドウ間の通信は次のように失敗します。
ポップアップ ウィンドウで次の操作を行います。
2 つのウィンドウを確認document.domain
すると、次の事実が明らかになります。
メイン ウィンドウ:domain.tld
ポップアップ ウィンドウ: www.domain.tld
(送信時に変更されていることに注意してください)
それで、すべての専門家に質問します。結果をメイン ウィンドウに戻す直前に、ポップアップ フレームの document.domain をリセットしている Django JS コードはありますか? または、リセットは、メイン ウィンドウのウィンドウ オブジェクトを使用して通信を行うことの副作用ですか? 以前の場合、これがどこになるか教えていただけますか? どのファイルにあるのかわかりません。後者の場合、cookieless ドメイン + TinyMCE + Django Admin ポップアップを使用するための解決策は何ですか?
この問題を検討していただき、誠にありがとうございます。
cross-domain-policy - CORS セキュリティ モデルの実装により、クロスドメイン拡張の「許可」特権は排除または廃止されますか?
以下のリンクを参照しましたが、提供された回答は決定的なものではありません。実際、Web サイト プロバイダーの観点から見た CORS の目的が、Web ページ データへのプログラムによるアクセスを制限することである場合、サーバー側の許可を与えることに消極的になります。この場合、ローカル拡張機能がサーバーからのアクセス許可をオーバーライドする方法がわかりません。
php - Zend Framework 2 - 他のサーバーからの AJAX リクエスト
2 つのドメイン (ドメイン A、ドメイン B) があります。
ドメイン A には ZF2 アプリケーションが配置されており、すべて問題ありません。
ドメイン B には、ランディング ページ (データを収集するためのフォームを備えた小さなサイト) が配置されます。
ランディング ページから、フォーム データをドメイン A のアプリケーションに送信します (AJAX リクエスト)。
残念ながら、ドメイン A の ZF2 アプリはデータを受信せず、結果を表示しませんでした。ZF2アプリと同じドメインからAJAXリクエストを作成すると、すべて問題ありません。
JSONP を使用しようとしましたが、成功しませんでした。
これを強制的に機能させる方法は他にありません。
cross-domain - 機密情報をクロスサイトアクセスから保護するにはどうすればよいですか?
私のWebアプリケーションは、ログインしているユーザーに機密情報を表示します。ユーザーは、最初に自分のサイトから明示的にログアウトせずに別のサイトにアクセスします。他のサイトが私またはユーザーの同意なしに機密情報にアクセスできないようにするにはどうすればよいですか?
たとえば、私の機密データがJavaScript形式の場合、他のサイトはそれをスクリプトタグに含めて、副作用を読み取ることができます。ブラックリストの作成を続けることはできますが、安全でないものを列挙したくありません。何が安全か知りたいのですが、これに関するドキュメントが見つかりません。
更新:私の例では、被害者のサイトからのJavaScriptが攻撃者のサイトで実行されましたが、その逆ではなく、クロスサイトスクリプティングでした。
もう1つの例は、他のサイトでは幅と高さを読み取ることができる画像ですが、コンテンツを読み取ることはできないと思いますが、表示することはできます。
3番目の例は、X-Frame-Optionsヘッダーのないものすべてをiframeにロードでき、そこからユーザーをだましてドラッグアンドドロップまたはコピーアンドペーストを実行させることでデータを盗むことができるというものです。
java - How do I serve Flash policy files from an Eclipse plugin?
I have an Eclipse plugin that needs to open a pair of sockets to a flash application running on the local machine. Flash requires a policy file (blob of XML) giving permissions to access the ports in question. Flash prefers to get this policy file over port 843, Java treats ports < 1024 as privileged ports and Mac OS X and Linux similarly restrict access to ports < 1024. I don't want to run my Eclipse plugin with root permissions, so serving up the policy file on port 843 is not an option. According to Adobe documentation, if Flash can't get the policy file on port 843, it falls back to requesting the policy file on the port to which it's trying to connect. The ActionScript code looks like this:
On the Eclipse plugin side I've inherited some code that works most of the time on OS X, but sometimes fails on Windows. Running on Wi-Fi rather than wired ethernet also tends to fail, although I have no idea why this should matter.
This code looks wrong. It doesn't wait for the message from Flash and instead just jams the policy response into the port. As I said, it works most of the time, but it fails sometimes and doesn't seem to comply with Adobe's documentation.
I tried listening for request packets on each port and sending a port specific response. I watched socket traffic using WireShark on the loopback interface (Mac OS X). I saw policy requests coming in and responses getting sent, but Flash still gave me Security Sandbox Violation on both ports.
I also tried adding this line at the beginning of initSockets shown above:
Then I added code in my plugin to listen on port 5002 and send the following master policy file content:
Again I saw the request come in and the response go out, but Flash didn't seem to respond to it. I didn't get the Security Sandbox Violation errors, but there was also no traffic over the ports.
Can anyone enlighten me on the correct approach to opening sockets between Java and Flash?
flash - assql を使用してデータベースに接続する Flex、Flex - セキュリティ サンドボックス違反
ローカル データベースに接続する小さなフレックス プロジェクトを作成します。
コードは以下のとおりです。
プロジェクトはフレックスビルダーでうまく機能し、それを自分のワンプサーバーにデプロイしましたが、何かがうまくいきませんでした。
localhost/myproject/login.html のような URL を使用するとデータベースにアクセスできますが、localhost を 127.0.0.1 または IP 192.168.2.225 に変更すると、データベースへの接続に失敗し、エラーはセキュリティ サンドボックス違反です。
エラー #2044: 未処理の ioError: text=エラー #2048: セキュリティ サンドボックス違反: http://192.168.2.225/bin-debug/QuestionCollector.swfは 192.168.2.225:3306 からデータを読み込めません
サーバーのルート ディレクトリ (C:\wamp\www または C:\apache-tomcat-6.0.35\webapps\ROOT) に crossdomain.xml を配置しました。 crossdomain.xml ファイルは次のとおりです。
それは動作しません....何か問題がありますか?誰か助けてくれませんか~
javascript - Dartアプリケーションとクロスドメインポリシー
Dart VMでdartアプリケーションを実行しているときに、Chromiumでクロスドメインセキュリティチェックを無効にすることは可能ですか?
問題は、それが独自のポートで実行されているため、アプリケーションが別のポートで実行されているバックエンドに非同期要求を送信できないことです。
はい、dartファイルをバックエンドにコピーでき、正常に実行されることはわかっていますが、デバッグできません。
asp.net - Silverlight クライアントからの asp.net Web API セキュリティ エラー
Silverlight クライアントから ASP.NET WEB API サービスにアクセスしようとしていますが、Web クライアントから「セキュリティ エラー」というエラーが返されます。このサービスは、Fiddler またはブラウザーから正常に動作します。
Silverlight ホスト サイトの clientacesspolicy.xml は次のようになります。
これにより、どのサイトにもアクセスできるようになるはずだと思いました。
ASP.NET WEB API は、IIS Express のデバッガーから実行される VS 2012 です。Silverlight クライアントからヒットすることはありません。
更新: アクセスするサービスのルート フォルダーに clientaccesspolicy.xml を配置すると役立ちます。私はSilverlightアプリのルートにそれを持っていました。これは、そこでホストされているサービスにのみ役立ちます...
actionscript-3 - ポリシー リクエストには遅延が必要ですか?
私の友人と私は as3 でマルチプレイヤー ゲームに取り組んでいます。ポリシー リクエストなしのテストはローカルで成功しましたが、ブラウザでテストできるように追加しました。
サーバーに接続できたが、データの送信を開始するために接続ボタンをスパムする必要があったため、奇妙なことが起こりました。
タイマーで問題は解決しましたが、接続するために 5 秒も待ちたくありません。何が悪いのかわからず、この問題についてインターネット上で読める情報はほとんどありません。誰かがこの問題を実験しましたか?