Bezpečnostní politika Flash Playeru a použití ASPX pro odeslání
Transkript
Bezpečnostní politika Flash Playeru a použití ASPX pro odeslání výsledků testů mailem Jiří Strach Pedagogická fakulta Masarykovy univerzity Brno, Česká republika [email protected] Jiří Hrbáček Pedagogická fakulta Masarykovy univerzity Brno, Česká republika [email protected] Abstract: Interaktivní multimediální studijní opory často komunikují například s ASPX odkud mohou získávat a kam mohou ukládat data. Je-li SWF soubor se studijní oporou umístěn na serveru, kde běží ASPX, komunikace probíhá bez problému.. Jiné je to, pokud ASPX běží na jiném serveru než je umístěn SWF soubor.se studijní oporou. V této chvíli Flash Player brání přístupu k serveru s ASPX. Příspěvek si klade za cíl ukázat způsob, který umožní tuto komunikaci. Vysvětlí princip činnosti systému zabezpečení Flash Playeru, který se při této činnosti uplatňuje. Flash je mocným nástrojem pro tvorbu interaktivních studijních opor. V současné době nelze ani odhadnou, kam až její možnosti sahají. (Stuchlíková a kol. 2005). Nelze jinak než stát v němém úžasu a snažit se využít jejích možností. Ne stát ale velmi intenzivně se snažit jim porozumět a naučit se je v plné šíři využívat. Tato myšlenka nás vedla k rozhodnutí, ukázat jedno velmi zajímavé a užitečné použití. Flash vytváří soubory s příponou SWF (ShockWave Flash). Říkáme jim také Flash filmy. Jde v podstatě o animace, které mohou obsahovat skripty, pomocí nichž lze přehrávání animací řídit a dokonce vytvářet animace s vysokým stupněm vlastní inteligence. Velkou výhodou těchto animací je, že soubory SWF jsou velmi malé v porovnání s jinými typy animací (jako například GIF). Snad ještě větší význam má vnitřní inteligence SWF filmu. Pokud například vytvoříme běžným způsobem tvorby WWW stránek pomocí formulářů nějaký test, pak každá změna ve vzhledu ve formuláři, načtení další otázky, odeslání jedné odpovědi apod. vyvolá komunikaci se serverem a přenos dat. Na server se přenese stav odpovědí a ze serveru se načte další stránka s otázkou. Data i její grafická podoba. Vyhodnocení odpovědí a jejich zpracování má na starosti server. Použijeme-li Flash pro stejnou aplikaci, můžeme ji vytvořit tak, aby se SWF film s testem na začátku načetl na počítač klienta. Může provést identifikaci studenta, volbu typu testu apod. Poté na server odešle získané informace i studentovi, typu testu a ze serveru načte všechny otázky. Ty mohou být uloženy například v textovém souboru, v XML souboru, nebo je získá například získá opět přes ASPX. Jde opravdu v této chvíli o malý objem dat. Po jejich načtení klient projde celým testem. SWF se stará o střídání stránek, kladení otázek i přebírání odpovědí. Student si také může zkontrolovat své odpovědi. Je-li vše v pořádku, SWF může provést zpracování odpovědí, může je dokonce vyhodnotit a výsledky může poslat na server do ASPX, které zajistí uložení odpovědí do databáze, nebo je může odeslat mailem (službou serveru) na určitou adresu. Vidíme, že komunikace se serverem a v konečné podobě i objem dat přenesených mezi serverem a klientem se minimalizoval. Server dokonce může díky tomu provádět mnohem méně úkonů spojených se zpracováním odpovědí před jejich uložením. Princip činnosti typického použití SWF uvnitř webové stránky SWF soubory, data XML i ASPX jsou na stejné doméně. Browser otevře stránku, ve které je SWF. Flash film se načte do počítače klienta a spustí ve Flash Playeru. Mezi serverem a klientem se vytvoří jakýsi důvěryhodný kanál. Na serveru se nachází například ASPX, další SWF i datový soubor XML. Flash Player umožní bezpečnou komunikaci mezi klientem a serverem. Lze načíst ze serveru a spustit jiný SWF (například modul.swf) uvnitř již běžícího (test.swf) na straně klienta. Načte-li se modul.swf do Movie Clipu uvnitř test.swf, může test.swf spouštět skripty z načteného SWF. (například volat její funkce apod.). Lze načítat data z XML . Obrázek 1: Komunikace SWF s ASPX, načtení XML dat, načtení a spuštění SWF uvnitř SWF Flash Player chrání také počítač klienta. Neumožní SWF souboru, aby libovolně ukládal data na disk počítače klienta ani nedovolí spustit na jeho počítači žádný program. Jediné co umožní je ukládat data a číst je z cookies. Tato činnost umožňuje například modifikovat činnost SWF při dalších spuštěních na počítači jednoho klienta. Čtení dat z jiné domény jiné než ze které je spuštěn SWF SWF soubor modul.SWF, data XML i ASPX jsou na jiné doméně než Stránka se SWF kterou otevíráme na klientově počítači. V tomto případě Flash Player na počítači klienta považuje opět za důvěryhodný kanál mezi počítačem a serverem, ze kterého byla otevřena stránka s Flash filmem test.swf. Pokud Flash film běžící na počítači klienta hodlá načíst data, nebo načíst a spustit SWF z jiné domény, Flash Player kontroluje, zda je na této doméně soubor crossdomain.xml. Je-li tam pak kontroluje, zda je v něm povolený přístupu z domény, na které se nachází SWF, které požaduje přístup. Je-li, pak umožní načtení dat nebo načtení a spuštění SWF. Nedovolí však spouštění skriptů v načteném SWF souboru a neumožní přístup k ASPX. Obrázek 2: Čtení dat z domény jiné než ze které je spuštěné SWF Spuštěná stránka se SWF může získávat informace i na jiných serverech, na kterých je to povoleno. Pokud však načte a spustí z jiného serveru SWF, načtený SWF pracuje normálně, animace a vše funguje bez problémů. Není však možné z rodičovského SWF spouštět skripty načteného SWF (například volat funkce). Pokud bychom potřebovali tyto skripty spouštět, bylo by nutné uvnitř načítaného SWF příkazem System.security.allowDomain("www.dom2.cz") povolit spouštění skriptů SWF souborům umístěným na zvolených doménách. V našem případě www.dom2.cz. Čtení dat je však bez problémů, protože přístup k nim je povolen pomocí crossdomain.xml. Přístup k ASPX z jiné domény jiné než ze které je spuštěn SWF Shrňme si co víme. Soubor crossdomain.xml povoluje přístup k datům a SWF souborům. K ASPX má přístup SWF, které je umístěné na stejné doméně. Aby bylo možné volat skripty SWF, který má přístup k ASPX, je třeba mu nastavit System.security. allowDomain. Z těchto úvah vyplývá následující řešení. Vytvoříme SWF, do kterého umístíme funkce pro komunikaci s ASPX. Přidáme do něj skript System.security.allowDomain("www.dom2.cz") . Tento skript povolí prohlížeči klienta spouštět skripty z tohoto SWF. Na server s ASPX umístíme crossdomain.xml, který povolí přístup na server flash aplikacím spuštěným z jiných serverů. Obrázek 3: Komunikace s ASPX, které je na jiné doméně než stránka s Flash animací. Tím máme vše potřebné připravené k použití. Nyní můžeme ve svých uživatelských aplikacích využít komunikační SWF pro přístup k ASPX. Odeslání výsledků testů mailem Běžný způsob odeslání mailu využívá mailového klienta z počítače , na které je otevřená webová stránka. Jinou možností je použít například PHP či ASPX, které odešle mail službou serveru. V tom případě není nutné mít an počítači nainstalovaný program pro odesílání pošty. Je to elegantní a bezpečný způsob. Flash vezme data pro odeslání například z formuláře, nebo v našem případě z výsledků testů. Do ASPX flash zašle data například v následujícím tvaru: http://doména/index.aspx?heslo=1234&[email protected]&subject=Jan Novak test IT&body=otazka1 - A, otazka2 - B, otazka3 - jel domu autem, vysledek - prospěl ASPX data zpracuje a vrátí flashi informaci o výsledku odeslání mailu. Jakmile Flash tuto informaci příjme, může oznámit klientovi například že data byla úspěšně odeslána. Může však také v závislosti na odpovědi provést jiné činnosti. Například přejít na další test, umožnit testování jinému studentovi, v případě chyby při odesílání dat může flash zopakovat odeslání dat. Jak je z uvedeného patrné, flash díky svým možnostem se může opravdu velmi pružně reagovat, řídit svoji činnost v závislosti na vzniklé situaci. Komunikace z pohledu činnosti ASPX Nyní si ještě pro úplnost stručně popíšeme, jak s daty nakládá ASPX. Jestliže Flash klienta pošle do ASPX na serveru dotazovací řetězec (například: heslo=1234&[email protected] &subject=Jan Novak test IT&body=otazka1 - A, otazka2 - B, otazka3 - jel domu autem, vysledek - prospěl) je tento řetězec zaslán metodou GET, POST, nebo XML. Dotazovací řetězec se tomuto formátu říká proto, že přenášená data jsou při volání ASPX oddělena otazníkem. Volba metody určuje jakým způsobem budou data odeslána. Podrobně se jednotlivými metodami zabývat nebudeme. V našem příkladu jsem použili metodu POST. Je nutné pro komunikaci nastavit metodu na straně serveru i Flashe stejnou. Metoda POST nebo GET odesílá data jako dvojici jméno proměnné a hodnotu, spojené rovnítkem. Proměnné jsou pak vzájemně zřetězeny pomocí znaku &. Server s takto přenesenými daty nakládá také jako s proměnnou. Server příjme data a je-li třeba, může stejnou metodou poslat data zpět do Flash na počítač klienta. ASPX na serveru může například pracovat s databází. Z ní brát otázky a zpět do jiného souboru vracet odpovědi klienta. Na následujícím obrázku je tato situace z pohledu serveru naznačena. Obrázek 4: Komunikace s ASPX z pohledu ASPX Závěr ASPX nebo PHP umožňuje webovým aplikacím ukládat data na server nebo je třeba odesílat například jako maily. Připojení na databáze umožňuje konstrukci třeba i velmi rozsáhlých informačních nebo třeba i vzdělávacích systémů a Flash těmto systémům přináší možnost snížit komunikaci mezi serverem a klientem na minimum. Věříme, že náš příspěvek alespoň trochu poodhalil roušku do tajemného světa komunikace. Tato se zdá být velmi komplikovaná. Opak je však pravdou. Věříme, že z druhé strany také ukázal, jak je zabezpečen nejen ze strany serveru, ale také sám Flash player se na ochraně velkou měrou podílí. Chrání tak nejen server ale také počítač klienta. References BRICHTA, Ondřej. Flash tip trik – externí data a zabezpečení : flash.cz [online]. c2005-2007 [cit. 2007-01-03]. Text v češtině. Dostupný z WWW: <http://www.flash.cz/portal/clanek.aspx?id=512>. Loading data across domains: adobe [online]. c2007 [cit. 2007-01-03]. Text v angličtině. Dostupný z WWW: < http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_16520&sliceId=1>. STUCHLÍKOVÁ, Ľ., GRON, M., RADOBICKÝ, J., CSABAY, O., ROVANOVÁ, Ľ., BEŇO, J., MONDOČKO, P., ŠTEVOVE, M., ONDRÁŠOVÁ, I., HULÉNYI, L., KINDER, R., HELBICH, M., VACEK, F., NAGY, A., BEDNÁR, M., NEMČOK, P.: Interactive Animations as an e-Learning motivation agent, In: 6th International Conference Virtual University. Proceedings. Bratislava, December 15-16, 2005, pp. 151-156.
Podobné dokumenty
EDS IMAPS CS 2005 Final Conference Schedule
orthonormal functions
Řezníček Z., Tvarožek, Szendiuch,
Macho, Brno University of Technology, Brno, Řezníček M. HIT Ltd, Nedachlebice, Czech
Czech Republic
Republic
Testing of complex digital syste...
Podzim 2011
každá totiž může mít odlišnou nabídku
a jiné termíny akcí.
• Po výběru zlevněného zboží je nutné zaplatit přes internet rezervační poplatek.
• Jakmile obdržíte poukázku, dostavíte
se na vámi zvolen...
gosai letní filmový festival 2013 vinaře u kadaně
čeká v domě svých rodičů, dokud nebude plnoletá. Její muž však umírá a Chuyia je tak ve svých osmi letech vdovou. Podle
indických tradic jsou vdovy posílány do zvláštních útulků, kde v odříkání str...
imtools Documentation
Input: data - CT (nebo MRI) 3D data segmentation - zakladni oblast pro segmentaci, oznacena struktura se
stejnymi rozmery jako “data”,
kde je oznaceni (label) jako: 1 jatra, -1 zajimava tkan (kosti...
Stáhnout PDF s nápovědou( 10MB)
Programování v jazyce Adobe® ActionScript® 3.0 pro aplikaci Adobe® Flash®
Pokud je tato příručka distribuovaná se softwarem, ke kterému patří smlouva s koncovým uživatelem, je tato příručka stejně ...
zde - CONTEXO
o člověku,
rád bych se s vámi podělil o čtyři důvody k radosti:
1) Jak vidíte, podařilo se zorganizovat již 12. ročník této konference a nezdá se, že by
konference upadala. Děkujeme vám všem, kteří...
Formulář OSA
Vyplněný a podepsaný tiskopis prosím pošlete na adresu Zákaznické centrum, Čechova 3812, 580 01 Havlíčkův Brod, či naskenované na
adresu [email protected]. Žádosti, sazebníky a více informací najdete na ww...