[ trojka @ 07.03.2010. 13:23 ] @
Pozdrav drugari
Imam jedno pitanjce za vas. Pri prelazu sa jedne strane na sledeću preko linka, šaljem promenljivu preko adresne linije. Trebalo bi zbog zaštite da kodujem tu promenljivu (da se u adresnoj liniji vidi niz svakojakih karaktera) i da je pre upotrebe na sledećoj strani dekodujem. Pokušao sam sa funkcijom encode(), ali to nije to. Probao sam i sa sha1(), ali posle ne mogu da je dekodujem. Da li postoji neka funkcija koju mogu upotrebiti u ove svrhe
[ Goran Rakić @ 07.03.2010. 14:00 ] @
sha1 je heš funkcija, dakle nema nazad. Za šifrovanje koristi neki od algoritama dostupnih u mcrypt.

Mada sva je prilika da nešto radiš pogrešno čim ti treba šifrovanje za prenos promenljive po adresi. Bolje zatraži savet nego da napraviš nešto nesigurno i ugroziš tuđe podatke, novac,...
[ trojka @ 07.03.2010. 15:07 ] @
Na primer jedan korisnik treba da pošalje poruku nekom drugom korisniku. Klikom na ime korisnika kome treba da pošalje poruku, otvara se forma za slanje poruke, u adresnoj liniji sam prosledio id ključeve korisnika koji šalje i korisnika koji prima poruku, koje kasnije preuzimam get metodom. Sad ne bih želeo da mi se u adresnoj liniji vide id ključevi korisnika, već bih želeo da se vidi neki enkriptovani niz. Ovo je samo jedan primer gde koristim to slanje, ima tih prenosa još na dosta mesta.
[ dakipro @ 07.03.2010. 15:13 ] @
A zar vec ne znas ID korisnika koji salje poruku?
recimo cim se loguje u sesiji smestis nesto kao user_id i uvek znas ko sta radi.
Jer ovim tvojim sistemom, moze se lagati sistem da neko drugi salje nekom drugom poruku, kako god da kriptujes, to kriptovano moze se provaliti (osim ako nije neki temp kript).
Primer:
osoba A, osoba B i osoba C
Ja se logujem kao osoba A, odem da posaljem poruku osobi B, vidim njegov kriptovan id, odem da posaljem poruku osobi C, umesto svog ubacim kriptovan ID odobe B, i napravim situaciju da je osoba B rekla osobi C sve i svasta.

Kako god da resis da kriptujes, po meni je ovaj konkretan slucaj veoma lose resenje.

Ako ID posiljaoca uzmes iz sesije, nema potrebe ni da kriptujes id primaoca, taj je ID koji je, nebitno je. ako promeni neko ID u url, promenice samo recipienta, sto ionako moze da uradi ako odabere drugog clana kome salje poruku, nikakav problem nije tu onda.
[ Goran Rakić @ 07.03.2010. 15:18 ] @
Možeš da preneseš ID primaoca u skrivenom polju (ne vidi se tako očigledno, ali je tu u kodu stranice i lako se menja!), i potom proveriš pri prijemu podataka iz forme ponovo da li je korisnik ima pravo da pošalje poruku tom primaocu.

Alternativno, sačuvaj oba podatka na strani servera u sesiji. Neki razvojni okviri imaju podršku za čitaj-jednom promenljive u sesiji, tako preneseš ID primaoca. ID sesije preneseš u kolačiću i primeniš sve razumne mere da se zaštitiš od preotimanja sesije.

[ trojka @ 07.03.2010. 15:38 ] @
Thanks people
rešeno preko sesija, sada šaljem samo id onoga kome šalje korisnik poruku, to radim zato što za sada svako svakom može da šalje poruke. Razmotriću tvoj predlog Gorane ukoliko budu želeli da se postave neka ograničenja u tom pogledu.
Pozdrav