Conținutul Flash Player și AIR poate comunica cu serverele. Operația de descărcare diferă de descărcarea conținutului multimedia, deoarece informațiile descărcate apar direct în obiectele software și nu apar ca conținut multimedia. De obicei, conținutul poate descărca date din același domeniu în care este creat conținut. Cu toate acestea, de obicei, conținutul necesită ca fișierele de politici să încarce date din alte domenii (a se vedea "Controalele site-ului web (fișiere de politici)").
Notă. Conținutul care rulează în mediul de izolare aplicație AIR, niciodată nu a servit dintr-un domeniu de la distanță (cu excepția cazului în dezvoltator importate în mod intenționat de conținut la distanță în sandbox aplicație), așa că nu participă la tipurile de atacuri, dintre care protejează fișierele de politică. În ceea ce privește conținutul de aer, este în sandbox de securitate de aplicare, fără restricții privind sarcina de date, pe baza fișierelor de politică. Cu toate acestea, în ceea ce privește alte conținuturi AIR descrise aici restricțiile de testare securizate.
Utilizând clasele URLLoader și URLStream
Conectarea la prize
Mediul runtime caută în mod implicit fișierul politicii socket-urilor din portul 843. Ca și în cazul fișierelor de politică URL, acest fișier este numit fișierul de politică principală.
Când fișierele de politici au fost introduse pentru prima oară în Flash Player 6, fișierele de politici de socket nu au fost încă acceptate. Conexiunile la serverele socket au fost rezolvate de un fișier de politică care se afla în locația implicită de pe serverul HTTP cu portul 80 al aceleiași gazde ca și serverul socket. Flash Player 9 acceptă încă această caracteristică, iar Flash Player 10 nu mai există. În Flash Player 10, conexiunile pentru socket-uri sunt permise numai utilizând fișierele de politică socket.
Accesul la conexiunile socket și la soclurile XML este dezactivat în mod implicit, chiar dacă socketul se află în același domeniu ca și fișierul SWF de conectare. Pentru a permite accesul la nivel socket, puteți pune fișierul politicii socket-urilor în oricare din următoarele locații:
port 843 (locația fișierului principal de politică);
Același port ca și pentru conexiunea principală la soclu;
În mod implicit, Flash Player caută fișierul politicii socketului de pe portul 843 și pe același port utilizat pentru conexiunea primară la soclu. Pentru a trimite un fișier politicii socket-urilor printr-un port diferit, fișierul SWF trebuie să apeleze metoda Security.loadPolicyFile ().
Următoarea este un exemplu de fișier de politică socket.
Pentru a obține fișierul politicii socket-urilor prin portul 843 sau prin același port prin care este stabilită conexiunea socket-ului principal, trebuie să apelați metoda Socket.connect () sau XMLSocket.connect (). Flash Player verifică mai întâi fișierul de politică principală pe portul 843. Dacă îl găsește, verifică o meta-politică care împiedică transferul fișierelor de politici de socket-uri prin portul țintă. Dacă accesul nu este refuzat, Flash Player va căuta mai întâi atributul adecvat permis de acces din fișierul principal al politicii. Dacă nu o găsește, încearcă să obțină fișierul de politică prin portul conexiunii principale la soclu.
Pentru a obține fișierul politicii socket-urilor într-o altă locație, mai întâi trebuie să apelați metoda Security.loadPolicyFile () cu sintaxa specială "xmlsocket". după cum se arată mai jos.
Apelați metoda Security.loadPolicyFile () înainte de a apela Socket.connect () sau XMLSocket.connect (). Apoi, Flash Player așteaptă ca un fișier de politică să fie executat înainte de a decide cu privire la conexiunea primară. Cu toate acestea, dacă fișierul de politică principală specifică faptul că nu poate exista un fișier de politică în această locație, apelarea metodei loadPolicyFile () nu va produce rezultate, chiar dacă există un fișier de politică acolo.
Dacă serverul socket este instalat și doriți să adăugați un fișier de politică pentru socket-uri, trebuie să determinați de la care port să fie transferat acest fișier: portul principal de conectare sau celălalt. În ambele cazuri, serverul trebuie să aștepte primul transfer de date de la client înainte de a trimite răspunsul.
Când Flash Player solicită un fișier de politică, acesta trimite întotdeauna următoarea linie după stabilirea conexiunii:
După primirea acestei linii, serverul poate trimite fișierul de politică. Solicitarea Flash Player se termină întotdeauna cu un octet nul, iar răspunsul serverului trebuie să se încheie și cu un octet nul.
Nu încercați să utilizați aceeași conexiune atât pentru solicitarea fișierului de politică, cât și pentru conexiunea primară. Întrerupeți conexiunea după transferarea fișierului politicii. Dacă nu faceți acest lucru, Flash Player deconectează conexiunea stabilită pentru a verifica fișierul de politică și numai atunci stabilește conexiunea primară.
Protecția datelor
Pentru a proteja datele de interceptare și modificări la transmiterea pe Internet, puteți utiliza protocoalele TLS și SSL pe serverul de unde sunt trimise datele. Vă puteți conecta la server folosind protocolul HTTPS.
În aplicațiile create pentru runtime-ul AIR 2 și versiunile ulterioare, puteți, de asemenea, să protejați comunicarea prin socketul TCP. Clasa SecureSocket vă permite să stabiliți o conexiune la un server socket care utilizează TLS versiunea 1 sau versiunea SSL 4.
Trimiterea datelor
Trimiterea și descărcarea fișierelor
Metoda FileReference.upload () pornește descărcarea fișierului selectat pe serverul de la distanță. Înainte de a apela metoda FileReference.upload (). apelați FileReference.browse () sau FileReferenceList.browse ().
Codul care apelează metoda FileReference.browse () sau FileReferenceList.browse (). poate fi apelat numai ca răspuns la un eveniment de mouse sau tastatură. Când apelați acest cod în alte situații, Flash Player 10 și mai târziu aruncă o excepție. Cu toate acestea, pentru un eveniment inițiat de utilizator, nu este necesar să apelați aceste metode din caseta de nisip a aplicației AIR.
Apelarea metodei FileReference.download () deschide o casetă de dialog în care utilizatorul poate încărca un fișier de la un server la distanță.
Notă. Dacă serverul necesită autentificare utilizator, numai Flash-aplicații care rulează în browser (care este, folosind browser-ul sau un modul de control ActiveX) poate prezenta utilizatorului să introducă un nume de utilizator și parola caseta de dialog (pentru autentificare) și apoi du-te la descărcări. Flash Player nu permite trimiterea datelor către un server care necesită autentificare.
Trimiterea și descărcarea nu sunt permise dacă fișierul SWF de apel este în mediul software-ului local al sistemului de fișiere izolat.
Implicit, un fișier SWF nu poate iniția trimiterea de conținut la alt server sau descărcarea de pe un alt server. SWF-fișier poate efectua aceste operațiuni numai în cazul în care serverul are un fișier de politică care acordă permisiunea domeniului de asteptare SWF-fișier.