28

FireFox 3 でのこの Ajax クロス サイト スクリプティングの問題をどのように回避しますか?

4

5 に答える 5

20

jQuery を使用している場合、これを克服するためのコールバック関数があります。

http://docs.jquery.com/Ajax/jQuery.ajax#options

jQuery 1.2 では、"myurl?callback=?" のように JSONP コールバックを指定すると、別のドメインにある JSON データを読み込むことができます。jQuery は ? を自動的に置き換えます。呼び出す正しいメソッド名を使用して、指定したコールバックを呼び出します。または、dataType を「jsonp」に設定すると、コールバックが Ajax リクエストに自動的に追加されます。

または、クロスドメイン呼び出しを行うサーバー側スクリプトに ajax リクエストを作成し、データをスクリプトに戻すこともできます。

于 2008-09-09T06:19:47.997 に答える
1

もう 1 つの解決策: ヘッダーだけが必要な場合は、メソッドとして "HEAD" を指定すると、セキュリティの問題は発生しません。たとえば、Web ページが存在するかどうかだけを知りたい場合。

var client = new XMLHttpRequest();
client.open("HEAD", my_url, false);
client.send(null);
if(client.readyState != 4 || client.status != 200) //if we failed
    alert("can't open web page");
于 2010-05-01T11:33:17.997 に答える
0

使用している AJAX ライブラリ、何を達成したいのか、どのようにそれを行うのかなど、さらに詳しい情報があれば幸いです。

たとえば、許可されていないクロスドメイン Ajax リクエストである可能性があります。この場合、JSONを使用します。

于 2008-09-09T06:22:21.847 に答える