Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Koriscenje extract() funkcije

[es] :: PHP :: PHP za početnike :: Koriscenje extract() funkcije

[ Pregleda: 1993 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kelja

Član broj: 70429
Poruke: 1416
*.dynamic.isp.telekom.rs.



+35 Profil

icon Koriscenje extract() funkcije22.04.2011. u 13:18 - pre 158 meseci
Kazu neki da se ne preporucuje koriscenje ove funkcije.
Malo sam citao, ali nije mi tu sve najjasnije ™.

Na primer, kod formi sa vise od 20 polja, nalazim da je korisna...


Vidim da se ne preporucuje koriscenje u ovom obliku:

extract($_POST); (da li dodatni parametri ovde pomazu, i sta tacno rade???)

A onda, vidim da postoje i drugacija misljenja:

http://www.etomite.com/topic/7...sue-with-php-function-extract/

Hvala na pomoci!
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Koriscenje extract() funkcije22.04.2011. u 14:18 - pre 158 meseci
Nema neko iskustvo sa PHP-om, neko sa većim iskustvom će nam, nadam se, objasniti. Ali korišćenje samo extract($_POST) može biti veoma opasno jer može da se lako prepiše (overwrite) promenljiva.
Npr. ukoliko imaš
Code:

<?php
session_start();
$_SESSION['admin'] = 0;
extract($_GET);
if(isset($_SESSION['admin']) AND $_SESSION['admin'] == 1)
  echo 'You are admin!';

?>

i pozoveš fajl na ovaj način ime_fajla.php?_SESSION[admin]=1 Šta će se desiti?
Zato je po meni bolje ili ne koristiti a ako si primoran dodaj kao drugi argument EXTR_SKIP (neće raditi overwrite postojećih promenljivih ) ili koristiti i treći argument uz drugi argument EXTR_PREFIX_ALL ili EXTR_PREFIX_SAME funkcije kojim će se dodati prefiks koji ti definišeš.


[Ovu poruku je menjao Br@nkoR dana 22.04.2011. u 19:33 GMT+1]
Banned - Not available
 
Odgovor na temu

kelja

Član broj: 70429
Poruke: 1416
*.dynamic.isp.telekom.rs.



+35 Profil

icon Re: Koriscenje extract() funkcije22.04.2011. u 14:43 - pre 158 meseci
Hvala, Branko!

Citat:
jer može da se lako prepiše (overwrite) bilo koja promenljiva.


Da, to sam citao i nisam razumeo najbolje taj deo (nisam razumeo da su i session varijable ovim ''potkacene''). Znaci, napadac bi trebalo (samo?) da pogodi ime varijable i njenu vrednost, ako sam dobro shvatio...

 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Koriscenje extract() funkcije22.04.2011. u 14:51 - pre 158 meseci
Citat:
kelja: Hvala, Branko!



Da, to sam citao i nisam razumeo najbolje taj deo (nisam razumeo da su i session varijable ovim ''potkacene'').

Nema na čemu.
Da naravno, šta je $_SESSION ili neka druga superglobalna (SERVER, GLOBAL, GET, POST, REQUEST, FILE, COOKIE.... ) promenljiva neko običan niz.

Citat:
kelja:Znaci, napadac bi trebalo (samo?) da pogodi ime varijable i njenu vrednost, ako sam dobro shvatio...

Da upravo to, a pogledaj malo forume i videćeš da programeri obično imaju slične navike imenovanja promenljivih pa i nije toliko teško pogoditi.

Pozdrav.
Banned - Not available
 
Odgovor na temu

Br@nkoR
http://localhost

Član broj: 2597
Poruke: 1603

Sajt: localhost


+23 Profil

icon Re: Koriscenje extract() funkcije22.04.2011. u 14:59 - pre 158 meseci
Zaboravih da napišem, slično je, ako ne i isto, kao da si uključio register_globals.
Banned - Not available
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Koriscenje extract() funkcije

[ Pregleda: 1993 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.