Nasıl Flaş tarayıcı çerezleri / oturumu paylaşmak için alabilirim?

5 Cevap php

Ben bir PHP tabanlı web uygulaması inşa ediyorum ve bir Flash-tabanlı grafik motoru entegre ediyorum. Flaş grafik verileri için bir AJAX isteği yapmak gerekiyor. Bu istek yeni bir kullanıcı aracısı olarak görülüyor, çünkü başarısız olur ve onu tanımlamak için PHP oturum tanımlama içermez. Yani, giriş sayfasına yönlendirildi.

Ben sorgu dizesi üzerinde oturum kimliğini besleyen dahil olmak üzere bu işi yapmak için bir kaç kesmek, okudum, ama bu güvenlik açıkları açılır. Nasıl Flaş ve PHP otomatik çerez tabanlı oturum durumunu paylaşmak ve güvenli kalmak alabilirsiniz?

5 Cevap

IE o safça çalışacaktır. Ateş, bunu başarmak için tek yol flaş komut (bir php işlemci) içine session id POST, ve bu gelen oturumu geri sahip olmaktır.

Oturum tanımlama yeterince erken başlatılırsa, o zaman Tamam olmalıdır. Ben JavaScript AJAX ve Flash istekleri arasında paylaşılan kurabiye ile benzer bir sorun yaşadım, ve biz javascript erken tanımlama başlatılan isteği bitmiş emin yaparak onları çözdük (AJAX, çok :-) önde gitmek aramak istiyorsanız) yeterince Flaş isteği gönderdi, tarayıcı zaten oturum tanımlama vardı o kadar.

Ayrıca çerez yolu "/" iyi bir fikir olarak ayarlanmış olduğundan emin.

Eğer o iş için alınamıyor eğer, söyleniyor - gibi dirkgently dedi - Bir JavaScript AJAX çağrısı kullanarak HTML DOM bilgi saklamak ve daha sonra bir ExternalInterface çağrısı kullanarak Flash nesnesi onu getirebilir. Ama Flash nesne üzerinde en azından "allowScriptAccess = sameDomain" ayarlamak için emin olun yok

Başlık veya GET HTTP yönergesinin argümanı alanında farklı güvenlik: Sen bir oturum bir Cookie kimliği iletme farkında olmalıdır.

Kullan ExternalInterface Flex grafik konuşmak için. Bazı tarayıcı ile ilgili bilgiler de LoaderContext ve BrowserManager sınıfları ile yaklaşık geçirilebilir. AS3 belgelere içine biraz kazmak.

Denemek ve flaş görmek için kontrol 2 parametreleri bir session_id ve istemci (eski ip) bazı bilgileri bir araya getiren bir anahtar ikinci bir php ve sunucuda depolanan bir anahtar ile ve isteği üzerine onu şifrelemek için gönderebilirsiniz Biri onlar ikinci param maç olmayacak çünkü onlar cant çalmak bir oturum yapmak trys eğer ikinci parametreleri, istemci isteği, bu şekilde maçlar