1

私は自分の Web サイトにまもなく公開する予定の Flash アプリケーションを持っています。防止するためにサイトに「ロック」できるようにしたい:

  • 別のサイトで .SWF をホストする (違法なダウンロード後)、および
  • 別のサイトの iFrame に含まれている場合に .SWF が開かないようにする

許可しながら:

  • URL のすべてのバリエーションを定義しなくても通過/有効化されるサイトのホワイトリスト (例: www.abc.com、abc.com、abc.com/game/、games.abc.com など)

このタスクを実行するのに数百ドルかかる商用アプリケーションがありますが、次の方法で実行できると確信しています。

root.loaderInfo.url

何とかして。これを行う方法を知っている人はいますか?私の最大の関心事は iFrame の防止です。サイトがフラッシュを盗んだ場合、通常は自分のサイトに iframe を送信して帯域幅のコストを節約するためです。

私は (Flash IDE ではなく) Flex SDK を使用しているので、いくつかの純粋な AS3 コードでうまくいくでしょう。

4

2 に答える 2

3

このコードは、読み込み中の URL を報告します。メインローダーで使用して、許可されていないメッセージを表示したり、予期したものと一致しない場合はまったく読み込まないようにしたりできます。

public static function Domain(root:Sprite):String {
    var currentDomain:String = root.loaderInfo.url.split("/")[2];
    var fqdn:Array = currentDomain.split(".");
    var rdi:int = 1;
    var tli:int = 2; 
    if (fqdn.length == 2) {
        rdi--;
        tli--;
    }

    return fqdn[rdi] + "." + fqdn[tli];
}
于 2009-04-27T07:45:26.503 に答える
2

サーバー上の参照エージェントを確認することは、イメージ ホストによってよく使用される一般的なトリックです。ただし、Web は基本的にリンク機能が柔軟になるように設計されているため、すべての可能性を確実にブロックする方法はありません。最善の解決策は、フラッシュ ファイルが認証サーバーに接続し、元のサイトから渡されたいくつかの文字列をチェックする必要があることです。

于 2009-04-26T18:43:56.490 に答える