[linux] php -> problem s posielanim premennej

Ondrej Jombik nepto na pobox.sk
Čtvrtek Prosinec 5 02:50:26 CET 2002


> V ziadnom pripade nemen parametre v subore php.ini, a uz vobec nie
> register_globals... Tym si zbytocne narusis bezpecnost celeho php
> preprocesora. problem je v subore template.php vid nizsie

	Som rad, ze to niekto napisal. ;-)

> premenna $file ani nemoze existovat kedze mas vypnutu registraciu
> globalnych premennych (v php.ini), ale to je ok. takze $file nahrad
> $HTTP_GET_VARS['file'] a uz ti to pojede. Problem je v tom ze ak mas
> vypnutu registraciu glob. prem. tak sa ti vsetky premenne transerovane
> GETom ulozia do pola $HTTP_GET_VAR, popr. v novsej verzii php je to pole
> $_GET, takto isto funguje i transfer dat pomocou POST (ale $HTTP_POST_VARS
> popr. $_POST)... takze tak...

	S tym "popr." to nie je az take jednoduche. $HTTP_*_VARS su premenne
typu array() a ich posobnost je "global". Premenne ako $_POST, $_GET a pod.
su tiez typu array(), obsahuju rovnake data ako ich $HTTP_*_VARS
ektivalenty, ale ich posobnost je "superglobal".

	Cize napr. $_GET existuje v kazdej funkcii, v kazdej metode, v
kazdom mieste PHP skriptu, kdezto $HTTP_GET_VARS len tam kde maju posobnost
globalne premenne (tj. na najvyssej urovni), alebo tam kde sa to explicitne
deklaruje pomocou klucoveho slova "global".

	To len na upresnenie.

	=Nepto=
--
  _/|   Ondrej Jombik - nepto na php.net - http://www.nepto.sk - OJ812-RIPE
 <_  \  Platon SDG - open source software development - http://platon.sk
   `\|  UNIX is user friendly. It's selective about who its friends are!
    '`




Další informace o konferenci linux