0

Noob はここで助けが必要でした。

このコード コード スニペットを使用して、swf をいくつかのドメイン名にロックしようとしています。

var allowedDomains:String = "ghostwire.com|somewhere.net|elsewhere.org";

var allowedPattern:String = "^http(|s)://("+allowedDomains+")/";
var domainCheck:RegExp = new RegExp(allowedPattern,"i");
if (!domainCheck.test(url))
{
    // domain check failed, abort application
    stop();
    // abort();
}
else
{
    // domain okay, proceed
}

次のようなサイトを追加しても問題はありません。

var allowedDomains:String = "mysite.nl|mysite.de|mysite.co.uk";

swf は abort() 関数を使用します。

これはうまく機能し、ドメイン URL を取得します。ただし、複数のドメインを追加する方法はありません

var url:String = stage.loaderInfo.url;
            var goodPattern:RegExp = /^(http:\/\/)(www\.)?mysite\.nl/;
            if (goodPattern.test(url) == true)
            {
                trace("This flash is hosted on mysite");
            }
            else
            {
                trace("This flash is not hosted on mysite");
                this.alpha = 0;
            };

上記のスニペットは機能します。しかし、その後、他に2つの問題がありました。1: 複数のドメイン名を追加できません。2: コードが難読化された後、ステージが無効になり、swf を再生しようとすると、デバッガー エラーが発生します。

TypeError: エラー #1009: null オブジェクト

誰かが私がここで間違っていることを教えてください!!!

元のリンクはこちら:

PS: 私は初心者で、ここから禁止されていません。以前の詳細を見つけることができませんでした。スクリプトを使用して新しい詳細を電子メールで送信しようとすると、電子メールを使用したメッセージが表示されましたが、このデータベースにはありませんでした。

soo 私は、Google アカウントを使用するように促すメッセージが表示されましたが、これが間違っていた場合は申し訳ありません。

私のスレッドについて何か助けが得られることを願っています。前もって感謝します

4

1 に答える 1

0

2番目のコードでは、「www」を検索するわずかに異なる正規表現を使用するドメインを確認するために、おそらくこれを試してください:

var allowedDomains:String = "mysite\\.nl|mysite\\.de|mysite\\.co\\.uk";
var allowedPattern:String = "^http(|s)://(www\\.)?("+allowedDomains+")/";
于 2012-06-06T10:18:20.207 に答える