
FlashPlayer'ın, kişisel veri güvenliğini sağlamak ve veri araklanmasını önlemek için geliştirdiği bir sandbox (izole edilmiş kutu) modeli var.
Her swf derlenirken ya local ya da network erişimi için derlenir. Mesela local sandbox için derlenmiş bir swf dosyası internetten veri alamaz, dosya yükleyemez, GET veya POST verileri yollayamaz. Aynı şekilde network sandbox'ı için derlenmiş bir swf yerel hiç bir kaynağa erişemez (SharedObject gibi zararsız ve izole depolama hariç).
Bu durumu aşmak için, yani .swf'nin tüm kaynaklara ulaşabilmesini sağlamak için FlashPlayer'in ayarlarını değiştirebilirsiniz ama görünmez bir arayüzü olmadığı için biraz can sıkıcı bir yöntem olabilir.
Üstelik siz geliştiriciyseniz ve bunu kullanıcının kafasını karıştırmadan yapmak istiyorsanız bu yöntem işe yaramaz.
Çözüm: FlashPlayer'in güvenli olarak kabul etmesini istediğiniz .swf'ler veya .swf içeren konumlar için minik bir yapılandırma dosyası oluşturup bu dosyayı işletim sisteminin belirli bir yerinde saklamaktır.
Bunu yapmak için:
İzin verilen konumlarda bulunan tüm swf'lere tüm izinler verilir. yani local veya network sandbox'larından veri alışverişi yapabilirler, xml, swf, jpeg vs gibi dosyaları yükleyebilirler, web üzerinde bulundan bir php dosyasına GET veya POST ile veri yollayabilirler.
İzin işlemi bilgisayar veya kullanıcı çapında yapılabilir.
Bilgisyar çapında izin verildiğinde tüm kullanıcılar bu swf'yi kısıtlamasız olarak kullanabilirler.
Kullanıcı çapında izin verildiğinde aynı bilgisayardaki diğer kullanıcılar için kısıtlamalar devam eder.
Bilgisayar çapında izin vermek için
Windows'ta:
C:\WINDOWS\system32\Macromed\Flash\FlashPlayerTrust
Mac OS X'de:
/Library/Application Support/Macromedia/FlashPlayerTrust
konumlarına oluşturduğunuz bu .cfg dosya(lar)ını kopyalayın.
Eğer FlashPlayerTrust klasörü yoksa oluşturun.
Kullanıcı çapında izin vermek için:
Windows'ta:
C:\Documents and Settings\<KULLANICI_ADI>\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust
Mac OS X'de:
/Users/<KULLANICI_ADI>/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust
konumlarına bu .cfg dosya(lar)ını kopyalayın.
FlashPlayerTrust klasörü yoksa oluşturun.
Örnek .cfg dosyası içerği:
# Bu bir yorum satırı, aşağıdaki klasör ve alt klasöründeki swf'ler izinli C:\MyFlashApps # Aşağıdaki App.exe içinde swf gömülü olan bir uygulama olabilir. C:\Program Files\MyApplication\App.exe D:\Users D:\MyApplication\myAppName.swf D:\MyApplication\myAppName.html # sürücü harfinin bilinmediği durumlarda işi sağlama almak için A:\main.swf C:\main.swf D:\main.swf E:\main.swf F:\main.swf G:\main.swf H:\main.swf
özetle; yukarıdaki örnek cfg dosyası
C:\WINDOWS\system32\Macromed\Flash\FlashPlayerTrust
konumuna kopyalanırsa bütün kullanıcılar için swf güvenli sayılır
C:\Documents and Settings\<KULLANICI_ADI>\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust
konumuna kopyalanırsa sadece bu kullanıcı için swf güvenli sayılır.
swf güvenliği
Bu değinilmesi gereken önemli bir konu. Paylaşım için teşekkür ederim.
Bir diğer önemli konuda swf dosyalarının çalınmasını engellemek yada emeğin korunması amaçlı düzenlemek.
Bu konuda da bilgi sahibiyseniz ve olası tedbirleri paylaşırsanız sevinirim.
malesef bu konuda yapacak
Yeni yorum gönder