Autor Zpráva
H13
Profil
ahoj, zajímalo by mě, jestli má použití globální proměnné v php skriptu vliv na bezpečnost skriptu (např. jestli se dá skript např. jednodušeji zneužít)

př.

$x = 10;

function setX ()
{
global $x;
$x++;
echo $x //$x = 11 místo 1
}

setX ();

díky moc Honza
Aleš Janda
Profil
Pokud máš register_globals = on, tak ano, je to méně bezpečné. Ale to je i když tuhle konstrukci nepoužíváš.

Jinak je to jedno, ale obecně je to větší prasárna.
Když už globální proměnná, tak alespoň $GLOBALS['promenna'] ...
H13
Profil
pak by mě zajímalo, jakým způsobem dostat obsah proměnné do nějaké funkce, samozřejmě tím nemyslím předat ji jako parametr

Příklad jazyk

mám pole
$lang= Array (
'name' => 'Jméno',
'street' => 'Ulice', ...

Jak to použít ve skriptu bych věděl, ale jak pole $lang dostat do všech funkcí a tříd bez použití globální proměnné ...

a jaký je rozdíl mezi

global $lang
$_GLOBAL['lang'] ???
krteczek
Profil
$GLOBAL['language'] = 'sk';
global $lang = 'sk';

kdesi ve scriptu použito $GLOBAL['language'] :

function funkce()
{
if($GLOBAL['language'] == 'en')
{
//neco
}
}


s gdesi ve skriptu použito $lang

function funkce()
{
if($lang == 'en')
{
//neco
}
}


$GLOBAL['language'] jasně naznačuje že se jedná o globální proměnnou, kdežto u $lang to jasné není
krteczek
H13
Profil
díky moc
Toto téma je uzamčeno. Odpověď nelze zaslat.

0