Flash Platform güvenliğine genel bakışFlash Player 9 ve üstü, Adobe AIR 1.0 ve üstü Flash Player ve AIR çalışma zamanlarında kullanılan güvenlik modelinin çoğunun temelinde, yüklenen SWF dosyaları, HTML, medya ve diğer varlıklar için orijin alanı bulunur. www.example.com gibi belirli bir internet alanından gelen bir dosyadaki yürütülebilir kod her zaman o alandaki tüm verilere erişebilir. Bu varlıklar, güvenlik sanal alanı olarak bilinen aynı güvenlik grubuna koyulur. (Daha fazla bilgi için, bkz. Güvenlik sanal alanları.) Örneğin bir SWF dosyasındaki ActionScript kodu SWF dosyalarını, bitmap'leri, ses dosyalarını, metin dosyalarını ve diğer tüm varlıkları kendi alanından yükleyebilir. Ayrıca, her iki dosya da ActionScript 3.0. kullanılarak yazılmışsa, aynı alandaki iki SWF dosyası arasında çapraz komut dosyası oluşturulmasına her zaman izin verilir.Çapraz komut dosyası oluşturma, bir dosyadaki bir kodun başka bir dosyadaki özelliklere, yöntemlere ve nesnelere erişim becerisidir. ActionScript 3.0 kullanılarak yazılmış SWF dosyaları ile önceki ActionScript sürümleri kullanılarak yazılmış SWF dosyaları arasında çapraz komut dosyası oluşturmaya izin verilmez; ancak bu dosyalar LocalConnection sınıfını kullanarak iletişim kurabilir. Ayrıca SWF dosyasının başka etki alanlarındaki ActionScript 3.0 SWF dosyalarının çapraz komut dosyasını oluşturması ve başka etki alanlarından veri yüklemesi yeteneği de varsayılan olarak yasaklanmıştır; ancak yüklenen SWF dosyasında Security.allowDomain() öğesine yapılan bir çağrıyla bu erişime izin verilebilir. Daha fazla bilgi için, bkz. Çapraz komut dosyası oluşturma. Aşağıdaki temel güvenlik kuralları her zaman varsayılan olarak geçerlidir:
Flash Player ve AIR çalışma zamanları, aşağıdakileri bağımsız alanlar olarak değerlendirir ve her biri için bağımsız güvenlik sanal kutuları kurar:
http://example.com gibi adlandırılmış bir alan, http://192.0.34.166 gibi belirli bir IP adresiyle eşlense bile, çalışma zamanı her biri için ayrı güvenlik sanal alanı kurar. Geliştiricinin bir SWF dosyasına kendi sanal alanı dışındaki sanal alanlarda bulunan varlıklara erişim hakkı vermek için kullanabileceği iki temel yöntem vardır:
Flash Player ve AIR çalışma zamanı güvenlik modellerinde içerik yükleme ile verileri ayıklama veya verilere erişme arasında bir ayrım vardır. İçerik, çalışma zamanının görüntüleyebildiği görsel medyalar ve görüntülenen ortamın içerdiği ses, video veya SWF dosyalarının bulunduğu medya olarak tanımlanır. Veri, yalnızca kodu tarafından erişilebilen herhangi bir şey olarak tanımlanır. İçerik ve veriler farklı şekillerde yüklenir.
Flash Player güvenlik modeli, içerik yüklenmesi ve verilere erişilmesi için farklı kurallar tanımlar. Genellikle, içerik yüklenmesinde, verilere erişilmesine göre daha az kısıtlama vardır. Genel olarak içerik (SWF dosyaları, bitmap'ler, mp3 dosyaları ile videolar) herhangi bir yerden yüklenebilir ancak içerik, yüklemeyi yapan kodun veya içeriğin bulunduğu alandan başka bir alandaysa, söz konusu içerik ayrı bir güvenlik sanal alanından bölümlenir. İçerik yüklenmesine yönelik birkaç engel vardır:
Yüklenen ortam bir görüntü, ses veya video ise, ortamın piksel verileri ve ses verileri gibi verilerine kendi güvenlik sanal alanı dışındaki bir SWF dosyası tarafından erişilebilmesi için, o SWF dosyasının etki alanının, ortamın kaynak etki alanındaki URL ilke dosyasına dahil edilmiş olması gerekir. Ayrıntılar için, bkz. Veri olarak yüklenen ortama erişme. Diğer yüklenmiş veri şekilleri arasında, URLLoader nesnesiyle yüklenen metin veya XML dosyaları yer alır. Yine bu durumda da, başka bir güvenlik sanal alanındaki verilere erişmek için, kaynak etki alanındaki URL ilke dosyası aracılığıyla izin verilmesi gerekir. Ayrıntılar için, bkz. URLLoader ve URLStream öğelerini kullanma. Not: Uzaktaki içeriği ya da verileri yüklemek için AIR uygulamasının sanal alanında kod yürütümü için hiçbir zaman ilke dosyalarına gerek yoktur.
|
|