Loader.loadBytes()
yöntemi, uygulamanın bir bayt dizisinden SWF içeriği oluşturması için bir yol sağlar. Ancak, uzak kaynaktan yüklenen verilerdeki yerleştirme saldırıları, içerik yükleme sırasında ciddi hasara neden olabilir. Bu, özellikle oluşturulan SWF içeriği tüm AIR API'leri kümesine erişebiliyorsa, uygulama sanal alanına veri yükleme sırasında geçerlidir.
loadBytes()
yöntemini yürütülebilir SWF kodu oluşturmadan kullanabilen geçerli kullanıcılar vardır. Örneğin, görüntü zamanlamasını denetlemek için görüntü verileri oluşturmak amacıyla
loadBytes()
yöntemini kullanabilirsiniz. Ses oynatma için dinamik SWF oluşturma gibi, kod yürütmeyi
kullanan
geçerli kullanıcılar da vardır. AIR'de,
loadBytes()
yöntemi varsayılan olarak SWF içeriği yüklemenize izin
vermez
; yalnızca görüntü içeriği yüklemenize izin verir. AIR'de
loadBytes()
yönteminin
loaderContext
özelliği, uygulamanın yürütülebilir SWF içeriğini yüklemek üzere
loadBytes()
kullanmasına izin vermek için
true
olarak ayarlayabileceğiniz
allowLoadBytesCodeExecution
özelliğini içerir. Aşağıdaki kod, bu özelliğin nasıl kullanılacağını gösterir:
var loader:Loader = new Loader();
var loaderContext:LoaderContext = new LoaderContext();
loaderContext.allowLoadBytesCodeExecution = true;
loader.loadBytes(bytes, loaderContext);
SWF içeriği yüklemek için
loadBytes()
çağırdığınızda ve LoaderContext nesnesinin
allowLoadBytesCodeExecution
özelliği
false
(varsayılan) olarak ayarlandığında, the Loader nesnesi bir SecurityError istisnası atar.
Not:
Adobe AIR'in gelecekteki bir sürümünde bu API değişebilir. Bu gerçekleştiğinde, LoaderContext sınıfının
allowLoadBytesCodeExecution
özelliğini kullanan içeriği yeniden derlemeniz gerekebilir.