2011-07-09 3 views
0

フレックスアプリケーションの問題点は、ユーザーがダウンロードしてローカルマシンで実行したり、別のサイトでホストできることです。そのような行為を防ぐためにフレックスアプリケーションをドメイン名にロックすることは可能ですか?フレックスアプリケーションのURLへのバインド

答えて

1

確かに、あなたはあなたのアプリケーションの初期化領域にこのような何かをやる:

var domainList : String = 'mysite.com,anothersite.com'; 
var domainCheck : String = this.url.split('/')[2]; 
var foundValidDomain : Boolean = false; 
for each (var domainChecking : String in domainList.split(',')){ 
    if(domainCheck.toUpperCase().indexOf(domainChecking.toUpperCase()) >= 0){ 
     mx.controls.Alert.show('check success: "' + domainCheck + '" against: "' + domainChecking); 
     foundValidDomain = true; 
     break; 
    }else{       
     mx.controls.Alert.show('check failed: "' + domainCheck + '" against: "' + domainChecking); 
    } 
} 
if(!foundValidDomain){ 
    // oh noes! mad hax! 
    this.visible = false; // or however you want to lock it down 
    return; 
} 

メイクセンスを? :)

これをさらにロックしたい場合は、キーストリングを使用してサーバーにアプリケーションを投稿し、暗号化された時間の影響を受けやすい指示をサーバーに送信させることができますバックなど)。これは、サーバー側を実装する必要もあるもう1つの面倒なレイヤーを追加します。ほとんどのアプリケーションでこれはおそらく過度のことです。

+0

を与えることで簡単に行うことができます。これはswfをロックする最良の方法です。 – user44444444

+0

同意していただきありがとうございます。明らかに、配備時にアラートを削除します。これは、テスト/教育のためのものです。 :) – Nate

1

自分でコードを書く必要がありますが、アプリケーションタグの変数URLにアクセスして、ドメインがあなたのドメインでない場合はアプリを無効にすることができます。

私はこれを比類のない尺度と呼んでいませんが、私は何も考えていません。

この「問題」がFlexアプリケーションに固有の理由がわかりません。リンクで議論されている -

+0

なぜこれを回避する方法がありますか? – user44444444

+0

私はあなたの質問を理解していません。 – JeffryHouser

+1

@ user44444444これを回避する方法の1つは、フレックスアプリケーションを元のWebサイトで実行していると考えるようにすることです。これは、Webサーバーをローカルに持ち、ホストファイルまたはDNSサーバーを使用して間違ったIP(originaldomain.com - > 127.0.0.1) –

0

は、あなたが言うように基本的に、あなたがドメインをロックダウンすることで問題を解決することができ、また、あなたが潜在的に商用ソリューションを使用してコードを暗号化することができ、このリンクhttp://www.richardlord.net/blog/protecting-a-swf

を見てみましょう。主なポイントは、Flexコードを外部に公開して、外部にFlexコードを公開したい場合です。

関連する問題