08. 03. 2012. | #1 |
novi član
Datum učlanjenja: 07.03.2012
Poruke: 2
Hvala: 0
0 "Hvala" u 0 poruka
|
Problem sa html formom
Ljudi ja imam problem.
Nisam iskusan u PHP kodiranju, ali ono sto sam naucio u skoli koristim i pojavljuje se problem. Imam jednostavnu formu koja mora da pokupi vrednosti iz polja i upise u bazu. Ovo je taj deo PHP koda koji mi pravi problem. Molim Vas za hitan odgovor! Unapred hvala. |
08. 03. 2012. | #3 |
novi član
Datum učlanjenja: 07.03.2012
Poruke: 2
Hvala: 0
0 "Hvala" u 0 poruka
|
|
08. 03. 2012. | #4 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
I die a little when I see $_REQUEST.
|
08. 03. 2012. | #6 |
Super Moderator
Knowledge base
Datum učlanjenja: 20.03.2006
Lokacija: Kragujevac
Poruke: 1.878
Hvala: 291
1.345 "Hvala" u 355 poruka
|
Off Topic: Eh, a ja krenuo da uradim copy&paste iz screen shota Problem je ovo što je čak i Jablan primetio u mrskom mu PHP-u. Jednostruki i dvostruki navodnici nisu isto u PHP-u, dakle kad napišeš '$promenljiva' za PHP je to običan string, neće učitati vrednost promenljive. Sa druge strane "$promenljiva" pod dvostrukim navodnicima će učitati vrednost promenljive. No pošto ovde nemaš nikakav tekst pride navodnici su ti potpuno suvišni. Dvostruke navodnike bi koristio kad bi recimo imao string "Ja se zovem $ime" tada bi imalo smisla. Kôd:
$name = 'Milos'; $a = '$name'; // pogresno echo $a; // rezultat ispisa: $name $b = "$name"; // ispravno ali nepotrebno echo $b; //rezultat ispisa: Milos $c = 'Moje ime je $name'; // pogresno echo $c; // rezultat ispisa: Moje ime je $name $d = "Moje ime je $name"; echo $d; //rezultat ispisa: Moje ime je Milos Poslednja izmena od mileusna : 08. 03. 2012. u 14:13. |
08. 03. 2012. | #7 |
emperor Selassie
Grand Master
|
I koristi $_POST umesto $_REQUEST...
|
08. 03. 2012. | #8 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
^ Jel može malo razjašnjenje oko ovog, zašto nije dobro koristiti REQUEST (već drugi put pominjete to u threadu)? Kakve veze ima kog je tipa request? Ako je već potrebna eksplicitna kontrola (RESTful itd), može se pogledati $_SERVER['REQUEST_METHOD'], zar ne?
__________________
blog |
08. 03. 2012. | #9 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
^ Zato što ne smije neko da ubaci t u showthread.php?t=10859 preko recimo, cookiea. Ako nemaš tokene u formi, site je ranjiv na CSRF (GET sa drugog sitea preko recimo IMG taga). Takodje, moguće je poslati POST na URL user.php?action=register, i onda će $_GET['action'] biti register, i npr $_POST['username'] i $_POST['password'] će imati neku vrijednost. Ako koristiš $_REQUEST, onda možeš samo postaviti na neki site <img src="http://example.com/user.php?action=register&ref=jablan&username=a&pas sword=b" /> i to će da prodje pod uslovom da nema captcha ili token. Banalan primjer, ali moze se ekploatisati na mnogo načina.
|
08. 03. 2012. | #10 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
^ Ali ne razumem, napadač svejedno može da sastavi i POST request, ne? BTW, nisam znao da i kukiji ulaze u REQUEST hash, to već nije ok da se meša sa parametrima. Mada i to može da se sastavi tako da i nije neka razlika.
__________________
blog Poslednja izmena od jablan : 08. 03. 2012. u 16:44. |
|
|