Autor | Zpráva | ||
---|---|---|---|
tomas3333 Profil |
#1 · Zasláno: 16. 9. 2009, 20:59:48
Čo je lepšie použiť na "vypnutie" magic quotes gpc? Manuál uvádza tento kód:
if (get_magic_quotes_gpc()) { function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } $_POST = array_map('stripslashes_deep', $_POST); $_GET = array_map('stripslashes_deep', $_GET); $_COOKIE = array_map('stripslashes_deep', $_COOKIE); $_REQUEST = array_map('stripslashes_deep', $_REQUEST); } No našiel som aj alternatívy ako napríklad skript od Jakuba Vránu (http://php.vrana.cz/vypnuti-magic_quotes_gpc.php): if (get_magic_quotes_gpc()) { $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST); while (list($key, $val) = each($process)) { foreach ($val as $k => $v) { unset($process[$key][$k]); if (is_array($v)) { $process[$key][stripslashes($k)] = $v; $process[] = &$process[$key][stripslashes($k)]; } else { $process[$key][stripslashes($k)] = stripslashes($v); } } } unset($process); } |
||
Jan Tvrdík Profil |
#2 · Zasláno: 16. 9. 2009, 21:03:22
tomas3333:
Uvedené ukázky pouze odstraňují chování magic quotes gpc. Pokud máš možnost, tak je lepší tu direktivou rovnou vypnout. Z uvedených dvou skriptů bych si vybral variantu od Jakuba Vrány, což osobně považuji za dostatečnou garanci kvality. |
||
tomas3333 Profil |
#3 · Zasláno: 16. 9. 2009, 21:13:45
keby som mohol vypnut, tak samozrejme vypnem :)
V com presne je rozdiel v prvom a druhom skripte? ved to robi to iste dvomi odlisnymi sposobmi nie? |
||
Jan Tvrdík Profil |
#4 · Zasláno: 16. 9. 2009, 21:19:11
tomas3333:
Citace z tebou odkázaného článku: „Řešení pomocí rekurzivní funkce je potenciálně nebezpečné kvůli možnému vyčerpání paměti, jak ukazuje Ilia:“ file_get_contents("http://www.example.com/?a" . str_repeat("[]", 1024) . "=1"); |
||
tomas3333 Profil |
#5 · Zasláno: 16. 9. 2009, 21:20:08
jo, dik, nebol som si celkom isty, ci tym mysli prave array_map.
|
||
Časová prodleva: 15 let
|
0