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í
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

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...

Více

Podzim 2011

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...

Více

gosai letní filmový festival 2013 vinaře u kadaně

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...

Více

imtools Documentation

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...

Více

Stáhnout PDF s nápovědou( 10MB)

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ě ...

Více

zde - CONTEXO

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ří...

Více

Formulář OSA

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...

Více