[ kelja @ 22.04.2011. 13:18 ] @
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!
[ Br@nkoR @ 22.04.2011. 14:18 ] @
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]
[ kelja @ 22.04.2011. 14:43 ] @
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...

[ Br@nkoR @ 22.04.2011. 14:51 ] @
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.
[ Br@nkoR @ 22.04.2011. 14:59 ] @
Zaboravih da napišem, slično je, ako ne i isto, kao da si uključio register_globals.