9

Firefox アドオンを使用すると、クロスドメイン通信を行うことができます

この関数を公開して、任意のページからクロスドメイン ajax を開始できるようにする方法はありますか (このアドオンをインストールした場合)。

編集: CORSとは何かを知っています.CORSはサーバーを制御している場合にのみ意味がありますが、私は知りません。ここでのポイントは、私がブラウザを制御しているということです。リスクを負うので、クロスドメイン機能をアドオン段階からユーザーランドにエクスポートするかどうかを尋ねています。

4

5 に答える 5

5

あなたが言ったように、同じオリジン ポリシーは、通常は XSS 攻撃からクライアント (自分自身) を保護するためだけに機能します。

アドオンで何を達成しようとしているのかはわかりませんが、自分のマシンで次のことを試してみることはできます。Firefox の設定を変更することで、同一オリジン ポリシーを無視できます。

クロスドメイン アクセスを許可するプラグインを開発しようとしている場合 (その結果、クライアント ベースの脆弱性が発生する可能性があります)、いくつかの型破りなトリックを採用する必要がある場合があります。いくつかの方法が考えられますが、CORS と同様に、少なくともいくつかのサーバーにアクセスする必要があります。代わりに、サーバー上のリソースを取得するプロキシを基本的に作成できます。つまり、プラグインのユーザーはhttp://yourwebsite.com/?url=http://someotherwebsite.com/resourceにアクセスします。

クライアント側のみのソリューションを実行する方法は考えられません。

于 2012-06-27T08:48:06.073 に答える
2

CORS (Cross Origin Resource Share) とも呼ばれるクロスドメイン通信は、サーバーが許可し、ブラウザーがサポートしている場合にのみ可能です。

このウィキペディアの記事で読みやすい

まだワーキングドラフトであるこのW3Cドキュメントをよく読んでください。

C# Webserverで CORS を 1 年間使用しています。サーバー側で CORS ヘッダーを追加しないと、same origin policy. 同じ IP アドレスで別のポートにリクエストする場合でも。

サーバーが CORS をサポートしていない場合、クロスドメイン リクエストが失敗することがあります。

編集:

私は最近、 Yahoo!を使用して同じドメイン ポリシーを回避できることを知りました。クエリ言語 (YQL)。詳細については、リンクを参照してください。

xml 応答で jquery を使用した Cross Domain Post メソッド ajax 呼び出しの例については、この SO 項目を参照してください。

于 2012-06-23T08:07:03.747 に答える
1

この宝石を利用できるかもしれません: https://github.com/progrium/localtunnel

于 2012-07-02T21:45:54.070 に答える
0

ユーザースクリプトにはクロスドメインの XMLHttpRequest があり、すべてのブラウザーで実行されます。

于 2013-01-24T20:30:23.477 に答える
-1

他のサーバーにアクセスできますか?JSONPアクセス権がある場合は、通常、それをお勧めします。

http://en.wikipedia.org/wiki/JSONP

于 2012-07-03T15:18:29.877 に答える