2

このようなツールがどのようにして中央サイトに ajax スタイルのコールバックを行うことができるのでしょうか? つまり、このウィジェットでは、現在表示しているページについてメールを送信するように要求することができます。これにより ajax が作成されると思います。メールを送信した人がこれを共有するためにコールバックをスタイルします. しかし、サーバー上のプロキシなしで、ブラウザがXSSエクスプロイトとしてブロックすることなく、どうすればこれを行うことができるでしょうか?

これに関する回答は大歓迎です。ご協力いただきありがとうございます。Flickr API を使用しても同じ課題が生じると思いますか?

タイトルからのリンク : http://sharethis.com/

4

3 に答える 3

6

彼らはあなたのサイトに含めるためのスクリプトを提供します。このスクリプトは、DOMとCookieに完全にアクセスできます。サイトにコールバックするために、JSONPと呼ばれる手法を使用します。含めたスクリプトは、クエリ文字列にパラメータを持つ別のスクリプトを追加します。次に、サーバーはJSON(JavaScriptのみ)を返し、データが抽出されます。

マッシュアップを構築している場合は、これらのウィジェットがCookieを盗むなどの悪意のあることを行わないことを信頼する必要があります。IE8では安全なXSSのサポートが強化されます。

于 2008-12-04T20:45:49.070 に答える
1

これには JSON を使用する必要さえありません。

スクリプト タグを使用して任意のドメインから JavaScript コードを取得できるため、これらのウィジェットの多くはスクリプト ノードを作成するだけで、応答は次のようにフォーマットされます。

someFunction("Callback Data");

someFunction は、元のウィジェット ソースの既存の関数であり、データを DOM にダンプします。

于 2008-12-04T21:31:14.203 に答える
0

答えは、何らかの理由で、ブラウザーは元のサーバー以外のサーバーへの XmlHttpRequests のみをブロックすることです。SRC がどこを指していても <SCRIPT> タグを自由に使用でき、そのようなスクリプト タグはもちろん DOM に動的に挿入できます。

于 2008-12-04T21:24:28.523 に答える