Stránka 1 z 2

[PHP] vypli mi register_globals, umi tu nekdo prosim php??

Odeslat příspěvekNapsal: 24. 12. 2005 11:54
od Micro
NA hostingu mi nastavili
register_globals=off
a me nejde php skript na editaci txt souboru pres web rozhraní.
viz http://rosalynda.wz.cz/demos/bbupravatext.php

uměl by to někde přepsat aby to fungovalo??? kdyz bylo register_globals=ON tak to fungovalo, ale ted to nejde.

Díky moc


// mbing : Téma přesunuto ● z Programování do Tvorba webových stránek a aplikací.

Odeslat příspěvekNapsal: 24. 12. 2005 12:30
od map
Přijímej hodnoty do skriptu pomocí

Kód: Vybrat vše
$necoPresGet = $_GET[ 'getPromenna' ];
$necoPresPost = $_POST[ 'postPromenna' ];

Odeslat příspěvekNapsal: 24. 12. 2005 12:35
od AraxoN
Môžeš skúsiť túto berličku: na začiatok PHP skriptu (alebo do nejakého konfigu, ktorý sa všade includuje) dopíš:
Kód: Vybrat vše
foreach ($_REQUEST as $_key=>$_val) {
    $$_key=$_val; // áno, pred _key má byť 2x znak $
}[/c

Na jednoduché veci by to mohlo stačiť, i keď je to ešte menej bezpečné než keby ten register_globals ostal zapnutý.

Odeslat příspěvekNapsal: 24. 12. 2005 12:48
od Micro
AraxoN píše:Môžeš skúsiť túto berličku: na začiatok PHP skriptu (alebo do nejakého konfigu, ktorý sa všade includuje) dopíš:

Na jednoduché veci by to mohlo stačiť, i keď je to ešte menej bezpečné než keby ten register_globals ostal zapnutý.l/quote]


DÍKY MOC ! Opravdu to funguje! Přidal jsem to na začátek toho php souboru a jede to! díky moc :D :D

Odeslat příspěvekNapsal: 24. 12. 2005 14:25
od AraxoN
Micro píše:DÍKY MOC ! Opravdu to funguje! Přidal jsem to na začátek toho php souboru a jede to! díky moc :D :DD/quote]

nz... ale asi by som ťa mal nejak dôrazne upozorniť, že ak to chceš takto nechať, tak môžeš byť nepríjemne prekvapený budúcimi problémami - je možné tým podvrhnúť obsah inak bezpečných premenných (napríklad obsah session-u, remote_addr, a tak podobne)...
Ak to je len trochu možné, tak by si to mal preprogramovať tak ako to spomínal map a niečo vyššie...

Odeslat příspěvekNapsal: 24. 12. 2005 14:31
od BetWithLowe(smazano)
ono to neni nadarmo již tuším v php4 defaultně vypnuté. Jé to vážně potenciální zdroj velkých problémů...

Odeslat příspěvekNapsal: 24. 12. 2005 16:26
od Lemur
Ano, jak uz jsem jednou psal, register_globals je mec s dvojim ostrim, a to druhe je zatracene ostre. Zakazani register_globals je velmi vhodna vec a cast hostingu uz to ma defaultne, i kdyz porad je spousta tech, kteri je maji povoleno kvuli starym skriptum.

Ale jak uz psal BetWithLowe, staci aby nekdo zjistil, jak se jmenuji promenne ve skryptu, a uz muze napachat dost velke skody (napr. prihlasit se na stranky necim na zpusob http://www.stranky.cz/index.php?logged=true).

Proste staci si pamatovat, ze parametry se ctou z $_GET, $_POST nebo $_REQUEST (coz je GET+POST dohromady), session z $_SESION a serverve udaje z $_SERVER. Navic jeste pouzivam funkci, ktera i pri zapnutych register_globals odnastavi vsechny promenne mimo tech zacinajicich $_, takze vlastne vypne register_globals.

Odeslat příspěvekNapsal: 24. 12. 2005 18:03
od #ikso
Stacilo by na zaciatok scriptu dat extract($_REQUEST) ...

Odeslat příspěvekNapsal: 25. 12. 2005 10:46
od czbios
jinak stačí taky přepsat tohle :
Kód: Vybrat vše
$jmeno
na napriklad
Kód: Vybrat vše
$_GET['jmeno']
takhle tak muzes kontrolovat jestli ti nikdo pres typ nepodstrcil data. post nebo cookies informace... tohle je treba u formularu neco odesles a pak to takhle proste zachazis

Odeslat příspěvekNapsal: 28. 12. 2005 18:21
od tark
Araxon: doporucuju neco lepsiho:

extract($_REQUEST);

Odeslat příspěvekNapsal: 2. 1. 2006 15:19
od roztok
tady jeste nekdo nepouziva $_GET a $_POST atd...? :o)

Odeslat příspěvekNapsal: 2. 1. 2006 15:43
od tark
NE! :-(

Odeslat příspěvekNapsal: 2. 1. 2006 19:06
od Vebloud
Tak to by měl začít.

Odeslat příspěvekNapsal: 2. 1. 2006 20:53
od Micro
tak jsem tedy dal místo tohodle:
Kód: Vybrat vše
foreach ($_REQUEST as $_key=>$_val) {
    $$_key=$_val; // áno, pred _key má byť 2x znak $
}[/c
začátek skriptu tohle:
Kód: Vybrat vše
extract($_REQUEST);

no a zatím to funguje. je to tak správně?

Odeslat příspěvekNapsal: 2. 1. 2006 21:03
od roztok
mno ale je to pekna "kvi kvi" :-/