2

Disqusのようなサービスの埋め込みスニペット (およびダウンロードされる関連ファイル) について言及しています。

もちろん、JavaScript ファイルをサイトに取り込むためのマークアップを誰かに与えるという概念自体は単純です。

しかし、Disqus などのプロバイダーが使用する [取り込まれる] コードに目を通すとembedKey、 などへの参照が表示されます。これは、何らかの追加のセキュリティ プロビジョニングを示唆しているようです (単に Web サービス認証トークンを期待する以外に)。

あります:

  • この種の「正しく」かつ「安全に」行うためのチュートリアルはありますか?
  • (ユーザーのサイトにある既存のスクリプトと競合しないようにすること以外に) 重要な考慮事項はありますか?

編集

キーの使用例については、http://wufoo.com/scripts/embed/form.js にある Wufoo の埋め込みコードを参照してください。

4

1 に答える 1

0

embedKeyAPI keyグーグルマップやアドセンスのように聞こえますunit ID。それは、そのコードの単位が有効であるか、誰かが実際にそれを所有しているか、またはサーバー内のアイテムのセット(おそらくチャットルームIDなど)を指しているかどうかを判断します。

コードの競合については、コードをIFFEでラップする必要があります。そうすれば、変数が周囲のコードにリークすることはありません。ローカルに設定されていないものは、外部から取得していることを前提としています。varスコープ外からの変数の設定/変更を避けるために、で変数を適切に宣言してください。また、名前の競合については、ローカル変数が優先されます。

//outsider code
var foo = 'foo';
var bar = 'bar';

//your code
(function(){
    var foo = 'baz';    //set a local foo
    bar = bam;          //outsider bar changed (no var);

    alert(foo); //baz
    alert(bar); //bam

}());

//some more outsider code
alert(foo); //foo, since  you protected your code
alert(bar); //bam, was wrecked by your code
于 2012-05-10T08:01:55.060 に答える