» »

Flash CS4 password access AS 3.0

Flash CS4 password access AS 3.0

betilly ::

Mene pa zanima , ce kdo ve kok bi v Flashu naredu s pomocjo ActionScripta 3.0, da bi moral uporabnik najprej vpisat username in password, sele nato bi lahko dostopal do dolocene strani. Rad bi pa naredil to tako, da bi v en .txt dokument pisal username, v drug .txt pa passworde. To bi pa naredil pol da bi iz teh txt dokumentov preverjal ali je uporabnik vpisal prave podatke. Pa ko bi bral iz txt dokumentov bi moral posebi za username in posebi za password dat v polja(da bi imel vsak svoj index stevilo), da nebi prislo do tega da bi npr. username miki in janez imela enak password in bi potem lahko kekec dostopal tudi z istim passwordom.

Hvala za pomoc

bluefish ::

kirupa.com ima en osnoven tutorial glede prijave. Boš pa potem moral še pogledati za registracijo in podobno.
Poleg tega je shranjevanje gesel in imen v plain text rahlo neumno in tako raje poveži flash s kako bazo, kamor lahko geslo kodiraš.

betilly ::

Vrjetno si mislil ta tutorial http://www.kirupa.com/developer/flash5/... . To sm ze naredu, sam je problem v tem da lahko vsak ki se spozna vidi kodo katero sem jaz napisal v AS. Z bazami pa se nisem nic delal zato, sem mislil ce bi bilo mogoce to izvesti na moj nacin. Pa zanima me se zakaj je shranjevanje gesel in imen v plain text rahlo neumno? ali lahko drugi tudi vidijo te txt file, ki so na mojem racunalniku?

680x0 ::

Tole je že v osnovi zgrešen princip. Zakaj? Ker je Flash client-side aplikacija in če bo iz serverja bral neko txt datoteko, potem lahko uporabnik preprosto posnifa HTTP paketke, vidi do katere datoteke dostopa, jo odpre in pogleda vsebino.

Pravilen osnovni pristop k problemu bi bil naslednji:
- uporabnik vpiše up. ime in geslo
- flash pošlje POST request v katerem je uporabniško ime in geslo (po možnosti vsaj v obliki MD5 hasha, da ni ravno plain text) na neko server-side skripto (PHP, ...)
- server-side skripta preveri ali kombinacija ustreza vnosom v datoteki / bazi in odgovori z OK ali FALSE
- flash se na podlagi prejetega odgovora odloči kaj narediti z uporabnikom

betilly ::

A tako gre to. A mogoče veš kje bi našel kakšen primer, ki bi mi pomagal rešiti moj problem. V flashu znam naredit da vpises pa to, sam kako to z kaksno bazo povezat to se mi pa ne sanja. Ce obstaja kakšna stran mogoce. Hvala

680x0 ::

Tutorialov je precej po netu... v osnovi gre zadeva takole (kode nisem testiral, zato se zna kje skrivati kaka napaka, je bolj za to, da veš v katero smer razmišljat):

1.) Ko v Flashu upobanik vpiše ime/geslo, uporabi URLRequest z metodo POST, da na neko PHP skripto (recimo http://test.si/login.php) pošlješ username in password. Preveri kaj dobiš nazaj od te skripte in ustrezno ukrepaj.
ActionScript 3:
public function sendData(url:String, user:String, pass:String):void {  
  var request:URLRequest = new URLRequest(url);  
  var loader:URLLoader = new URLLoader();  
  var variables:URLVariables = new URLVariables();
  variables.username = user;
  variables.password= pass;
  loader.dataFormat = URLLoaderDataFormat.VARIABLES;  
  request.data = variables;
  request.method = URLRequestMethod.POST;  
  loader.addEventListener(Event.COMPLETE, handleComplete);  
  loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);  
  loader.load(request);  
}  

private function handleComplete(event:Event):void {  
  var loader:URLLoader = URLLoader(event.target);
  loader.dataFormat = 'text';
  if (loader.data == 'OK') {
    trace("Vse v redu");
  } else {
    trace("Ni v redu");  
  }
}  
private function onIOError(event:IOErrorEvent):void {  
  trace("Error loading URL.");  
}  


2.) PHP skripta preveri točnost komnbinacije v bazi in vrne ustrezen odziv - lahko pa na začetku, za potrebe testiranja, kar hardcodaš kombinacijo, npr. takole:
<?php

$username = $_POST['username'];
$password = $_POST['password'];

if (($username == 'joze') and ($password == 'geslo')) {
  echo "OK";
} else {
  echo "FALSE";
}

?>

... kako namesto tega PHP skripta za pravo kombinacijo pogleda v bazo, si boš že pogledal kak tutotorial (google: "php mysql login").

infiniteLoop ::

Ma ja zdaj, ce smo "pametni", lahko nekdo tudi prestreze komunikacijo in vedno vrne "OK".
None of us is as dumb as all of us.

betilly ::

Bom poizkusil in se malo pobrskal po netu in upam da bo vse laufal tak ko mora.

680x0 ::

Če smo pametni, potem nobenega relevantnega podatka ne "zapakiramo" v SWF, ker klient je vedno "v rokah sovražnika". Ampak tu gre bolj za učenje najbolj osnovnega mehanizma avtentikacije v Flash aplikacijah.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

skripta za pošiljanje brezplačnih sms sporočil (strani: 1 2 3 4 )

Oddelek: Programiranje
19544682 (9922) AštiriL
»

Slo-Tech userscripts

Oddelek: Izdelava spletišč
175195 (2647) jype
»

C# težava

Oddelek: Programiranje
233752 (2598) mladec
»

ASP.NET + C# vprašanje

Oddelek: Programiranje
342796 (1810) Morenov
»

[Flash AS3] Povezava z MySQL

Oddelek: Programiranje
81957 (1818) 680x0

Več podobnih tem