ActionScript ile Flash dosyası korumak

Sitenizde harika flash çalışmalar yayınlıyorsunuz. Çok güzel! Fakat bazı işgüzarlar .swf dosyanızı aşırıp kendi serverlarına yüklüyorlar.

Acaba swf dosyalarımıza böyle bir kullanımı engelleme özelliği ekleyebilir miyiz? Evet. Bu dersimizde Action Script’le, çalınan Flash dosyalarımızın başka serverlara uçmasını engellemeye çalışacağız.

Swf dosyamızın başka bir serverda tutulup çalıştırılmasını engellemek için 2 ihtimalli bir algoritma gerekiyor:

1- İstediğimiz adresten bağlanılması.
2- İstemediğimiz bir adresten bağlanılması :).

1. durumda dosyayı oynatacak, ikinci durumdaysa .swf’yi oynatmayacak ve istersek bir uyarı penceresiyle sayfa ziyaretçilerini uyaracağız.

Önce fonksiyonumuzu başlatalım. Fonksiyon ismimiz koruma olsun.

function koruma (dogruURL){

Parantez içine yazdığımız dogruURL değişkeni, swf’mizin görüntülenmesini istediğimiz URL adresi olacak.

Şimdi sırada swf’nin çalışmasını durdurmak ve swf’yi çağıran adresi bulmak var.

_root.stop ();
suankiURL = _root._url;

Böylece doğru adres olup olmadığını anlayana kadar swf’nin çalışmasını engellemiş oluyor ve suankiURL değişkenine bulunduğumuz adresi atıyoruz.

if(suankiURL != dogruURL)
{

Basit bir if sorgusuyla “suankiURL dogruURL’ye eşit değilse” demiş oluyoruz.

msg = “Dosyayı istenmeyen bir adresten çağırıyorsunuz. Orjinal dosyaya ” + dogruURL + ” adresinden ulaşabilirsiniz.”;
getURL(“javascript:alert(‘”+msg+”‘)”)
_root.unloadMovie();
}

Tercihe bağlı olarak kullanabileceğimiz bu bölümde, eşitlik sağlanmadığında yani farklı bir siteden dosyamız çağrıldığında çalıştırılacak kodları yazıyoruz.

Örneğimizde msg değişkenini oluşturduk ve JavaScript kullanarak uyarı penceresi açılarak değişkenimizin ekrana basılmasını sağladık. Bu herhalde yeterli bir uyarı olur aşıranlara 🙂

Bu bölümün sonuna da Flash çalışmamızın oynatılmaması için unloadMovie (); fonksiyonunu ekliyoruz.

else
{
_root.play();
}
}

Eğer swf’mizin çalıştırıldığı url, dogruURL değişkenine eşitse play (); ile çalışmamızı oynatmaya başlıyoruz.

İşte bu kadar!

Fonksiyonumuzu koruma (http://websitem.com/dosyam.swf); şeklinde çağıracağız.

Aşağıda çalışmada lazım olan bütün kodlar yer alıyor.

/*
SWF DOSYA KORUMASI
OPEREYSIN.com
WERE-HERE.com'daki orjinal fonksiyonun degistirilmis versiyonudur.
Fonksiyonu su sekilde kullanın:
koruma ("http://websitem.com/dosyam.swf");
*/
function koruma (dogruURL)
{
_root.stop();
suankiURL = _root._url;
if(suankiURL != dogruURL)
{
msg = "Dosyayı istenmeyen bir adresten çağırıyorsunuz. Orjinal dosyaya " + dogruURL + " adresinden ulaşabilirsiniz.";
getURL("javascript:alert('"+msg+"')")
_root.unloadMovie();
}
else
{
_root.play();
}
}

İbrahim

Hekim. Yazar, beğenirse çevirir, kod yazarak eğlenir. 2002'den beri internette yazıyor.

Sevebilirsin...

9 Yanıt

  1. Selami dedi ki:

    Merhaba ..Güzel bir anlatım fakat kişi swf to fla programlarıyla swf dosyasına yazmış olduğumuz bu kodları silemez mi?Yani çok da geçerli bir yöntem olduğunu düşünmüyorum.

  2. victory dedi ki:

    Genellikle o tip programlar animasyon kısmını gösterip, AS kısmını alamıyorlar.

    Eğer doğru olarak çevirebilirlerse (şifreyi de geçtiklerini var sayıyorum) zaten dosyamızın üzerine bir bardak su içmemiz gerekir. Bu yöntem değil, hiç bir yöntem bizi paklamaz.

    Kolay gelsin.

  3. asdfasdasd dedi ki:

    as include etmek daha mantıklı ama yerini bulmamalı 😀

  4. demir dedi ki:

    hocam teşekkürler…uzun süredir aradığım olay (:

  5. gokhanergul dedi ki:

    Merhabalar siteye bu makale ile ilgili bilgi ararken rastladım ve dün gece bütün makaleleri okudum gerçekten çok başarılı ve güzel anlatım açısından da içerik açısından da. Yanlız bu örneği denemeye bugün zaman ayırabildim. fakat 5-10 dakika uğraşmama rağmen hala çalıştıramadım. acaba kodu bi kontrol edebilirmisiniz internetten direk kopyaladığımızda ” karakterini yani üstten tırnağı yanlış alıyor ama onlarıda düzelttim hala bi sonuç alamadım nedendir acaba…

  6. gokhanergul dedi ki:

    arkadaşlar uygulamayı yapamadığımı söylemiştim ama sabahtan ayık kafayla denedim oldu bukez fonksiyonu çağırma da hata yapmışım gerçekten başarılı bir örnek çok teşekkürler…

  7. fatihtemel dedi ki:

    doğru url yi nereye ve ne şekilde yazmamız gerekiyor?

  8. fatihtemel dedi ki:

    yapılmış çalışan kod bir örneğini yazarmısınız?

  9. kilicbey2005 dedi ki:

    Merhaba;
    AS ile birşeyler öğrenmek için webde gezinirken tesadüfen rastladım sitenize. Anlatımlarınız çok faydalı şeyler. Teşekkür ederim.
    Sizden bir şey öğrenmek istiyorum;
    Ben AS2 ile test hazırladım. İlköğretim 6-7-8 sınıflara yönelik 5 temel derse ait 20.000 sorudan oluşan bir test. Bu hazırladığım swf testi bir delphi yazılımı ile lisanslamak ve masaüstü uygulamaya dönüştürmek istiyorum. Delphi yazılımını yapan arkadaşım benden, yaptığım flash çalışmasına parametre gönderebileceği bir kod yazmam gerektiğini söyledi.
    bu konuda bilginiz varsa yardımcı olurmusunuz?