Autor | Zpráva | ||
---|---|---|---|
O Profil * |
#1 · Zasláno: 13. 3. 2007, 08:41:26
Zdravím,
umísťuji stránky na server, kde je register_globals = On. Jsou napsány při vypnuté direktiře a teď to někde trochu zlobí. Lze nějak kódově nastavit pro aktuální relaci register_globals = Off? Zkoušel jsem ini_set('register_globals','Off'); ale ve výpisu phpinfo() se změna neprojeví. Nechce se mi to všude opravovat:) Je nějaká "vyhchytávka"? děkuji |
||
nightfish Profil |
#2 · Zasláno: 13. 3. 2007, 09:36:41
pokud jsou napsány stránky pro register_globals off a nasadíš je na server s register_globals on, tak by neměl být nejmenší problém
jinak programově v PHP nelze register_globals přepnout z On na Off ani obráceně |
||
Joker Profil |
#3 · Zasláno: 13. 3. 2007, 09:43:40
O
No, to asi nepůjde, ty globální proměnné by se přece musely zaregistrovat ještě před začátkem skriptu. Ale není mi jasné, jaký problém by mohl mít skript se zapnutým register_globals, pokud byl psaný pro vypnuté. Obráceně je to jasné, ale takhle by snad neměl být problém?! |
||
nightfish Profil |
#4 · Zasláno: 13. 3. 2007, 09:46:13
Joker
napadá mě jedna možnost, která je důsledkem prasoprogramovacího stylu používáš proměnné, jejichž názvy kolidují s názvy proměnných předávaných POST/GET a u těchto proměnných spoléháš na to, že obsahují při prvním použití prázdný řetězec |
||
Joker Profil |
#5 · Zasláno: 13. 3. 2007, 10:02:37
nightfish
Jo, něco takového mě taky napadlo, ale pořád jsem si neuměl představit praktický příklad, ale už mi to došlo; třeba přidávání k nějakému řetězci v cyklu aniž bych si ten řetězec napřed inicializoval. Asi jsem tak zvyklý proměnné před použitím inicializovat, že mi ani nepřišlo na mysl, jak to udělat jinak :-) |
||
Thalia Profil |
#6 · Zasláno: 13. 3. 2007, 11:57:16
O
Můžeš zkusit, jestli to nepůjde přes .htaccess přidáním řádku php_flag register_globals off. |
||
Leo Profil |
#7 · Zasláno: 13. 3. 2007, 12:18:44
"Ale není mi jasné, jaký problém by mohl mít skript se zapnutým register_globals, pokud byl psaný pro vypnuté. Obráceně je to jasné, ale takhle by snad neměl být problém?!"
Hm, a uz jste nekdy pracoval se $_SESSION promennymi, tam to docela vadi, Leo |
||
krteczek Profil |
#8 · Zasláno: 13. 3. 2007, 13:06:31
Leo: Tam to vadí HODNĚ, přesvědčil jsem se o tom u jednoho skriptu, který u mne na lokale, i na hostingu fungoval krásně ale v momentě kdy jsem ho nasadil u klienta tak nefungoval (měl jsem stejné názvy jak v POST, SESSION tak i var), tam byli zaplé register globals a já je mám všude vyplé, nuluji proměnné, ale toto mne nenapadlo a trápil jsem se nekolik hodin než jsem na to přišel:-/, takže od te doby rozlišuji názvy proměnných ještě prefixy.
|
||
O Profil * |
#9 · Zasláno: 15. 3. 2007, 00:35:45
děkuju všem,
Stalo se mi přesně to co píše krteczek. Mohl bych vědět o co se jedná s těmi prefixy? |
||
tiso Profil |
#10 · Zasláno: 15. 3. 2007, 00:45:27
O -asi to, že názvom premených z globálnych polí pridáva ešte nejaký prefix, napríklad:
$id - normálna premenná, bez prefixu $g_id=$_GET["$g_id"] - get premenná, s prefixom g_ $p_id=$_POST["$p_id"] - post premenná, s prefixom p_ $c_id=$_COOKIE["$c_id"] - cookie premenná, s prefixom c_ $s_id = $_SESSION["s_id"] - session premenná, s prefixom s_ |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0