Forum » Izdelava spletišč » php in varnost
php in varnost
Uporabnik ::
dve zadevi:
če postam prek forma eno spremenljivko npr. hidden name='x' value='y' ... kakšna je pol razlika če jo preberm kot $x al pa $_GET["x"]
ali pa recimo če berem IP-je z $ip = $REMOTE_ADDR ali pa $ip = $_SERVER["REMOTE_ADDR"]
če postam prek forma eno spremenljivko npr. hidden name='x' value='y' ... kakšna je pol razlika če jo preberm kot $x al pa $_GET["x"]
ali pa recimo če berem IP-je z $ip = $REMOTE_ADDR ali pa $ip = $_SERVER["REMOTE_ADDR"]
Ziga Dolhar ::
php.ini direktiva 'register_globals'
Če je on, potem so vse spremenljivke registrirane tudi na lokalni ravni. Torej kot če bi na začetek napisal $x = $_GET['x'];
Če je register_globals izklopljen, te spremenljivke niso avtomatično globalne oz. se jim ne priredi nova spremenljivka. V tem primeru jih MORAŠ naslavljat z _GET/_POST -- ali pa na začetek nekam vpišeš $x = $_GET['x'].
register_globals je zaradi varnosti priporočljivo imet izklopljeno. Preberi xbiteov članek o varnosti v PHPju.
Če je on, potem so vse spremenljivke registrirane tudi na lokalni ravni. Torej kot če bi na začetek napisal $x = $_GET['x'];
Če je register_globals izklopljen, te spremenljivke niso avtomatično globalne oz. se jim ne priredi nova spremenljivka. V tem primeru jih MORAŠ naslavljat z _GET/_POST -- ali pa na začetek nekam vpišeš $x = $_GET['x'].
register_globals je zaradi varnosti priporočljivo imet izklopljeno. Preberi xbiteov članek o varnosti v PHPju.
https://dolhar.si/
darh ::
Si tole prebral?
Razlike, kako spremenjivko pobereš ni... pride pa do problema ko ti hočem jest kako vrednost podatknit..
in že maš vklopljen register_globals, ti pomeni, da ti lahko - če nisi posebej previden (ampak v tem primeru lahko kr predpostavimo, da nisi) - podtaknem kaj kar nebi smel... preberi članek.. če ti še kaj ne bo jasno, pa vprašej.
Razlike, kako spremenjivko pobereš ni... pride pa do problema ko ti hočem jest kako vrednost podatknit..
in že maš vklopljen register_globals, ti pomeni, da ti lahko - če nisi posebej previden (ampak v tem primeru lahko kr predpostavimo, da nisi) - podtaknem kaj kar nebi smel... preberi članek.. če ti še kaj ne bo jasno, pa vprašej.
Excuses are useless! Results are priceless!
Ziga Dolhar ::
Joj!
foreach($_GET as $zloba) { $$zloba = $zloba; }
Torej za vsako spremenljivko iz arraya $_GET ti bo kreiralo spremenljivko kakor to stori registeR_globals.
foreach($_GET as $zloba) { $$zloba = $zloba; }
Torej za vsako spremenljivko iz arraya $_GET ti bo kreiralo spremenljivko kakor to stori registeR_globals.
https://dolhar.si/
Uporabnik ::
tole mi ne dela.
me pa zanima, npr. prej si reku, da če so globalsi on da naredijo $x = $_GET['x']; na začetku skripte.
v čem je pol razlika, če to ti sam narediš na začetku skripte al pa če daš raj kr
ragister_globals on.
me pa zanima, npr. prej si reku, da če so globalsi on da naredijo $x = $_GET['x']; na začetku skripte.
v čem je pol razlika, če to ti sam narediš na začetku skripte al pa če daš raj kr
ragister_globals on.
darh ::
Uporabnik.. clueless :)
lej.. če maš register globals on.. se ti lahko zgodi tole:
(banalen) primer (banalne) skripte:
Zdej pa jest, kot zliUser, naredim tole:
ime_skripte.php?$prijava=1;
Kaj se zgodi ? Napiše prijava uspešna... sux ane...
PHP namreč določi vrednosti iz $_GET, $_POST, $_COOKIE (če je register_globals ukloplen) istoimenskim spremenjivkam.
Sej.. če bi prebral članek.. tam notri isto piše...
lej.. če maš register globals on.. se ti lahko zgodi tole:
(banalen) primer (banalne) skripte:
if ( $_GET['uporabnik'] == 'Uporabnik' ) {
$prijava = true;
}
if ( $prijava ) {
echo "Prijava uspešna";
}
Zdej pa jest, kot zliUser, naredim tole:
ime_skripte.php?$prijava=1;
Kaj se zgodi ? Napiše prijava uspešna... sux ane...
PHP namreč določi vrednosti iz $_GET, $_POST, $_COOKIE (če je register_globals ukloplen) istoimenskim spremenjivkam.
Sej.. če bi prebral članek.. tam notri isto piše...
Excuses are useless! Results are priceless!
Uporabnik ::
sej sm prebral, večkrat, in popolnoma razumem, sam pol zgleda zigggata ne razumem čist.
zdej me zanima bolj to, če se da tisti "foreach($_GET as $zloba) { $$zloba = $zloba; }
" v delujoče stanje spravt. se spomnem da sm včasih res vudu v phpinfo(), da _GET naredi cel array, sam zdej pa samo _SERVER["argv"] naredi array, pa še ta ni glih uporaben
zdej me zanima bolj to, če se da tisti "foreach($_GET as $zloba) { $$zloba = $zloba; }
" v delujoče stanje spravt. se spomnem da sm včasih res vudu v phpinfo(), da _GET naredi cel array, sam zdej pa samo _SERVER["argv"] naredi array, pa še ta ni glih uporaben
Ziga Dolhar ::
Še enkrat, sem vtipkal in sprobal [in dela]:
Dodal sem še en echo -- pa vidi, če dela :-).
foreach($_GET as $zloba) { $$zloba = $zloba; echo $$zloba; }
Dodal sem še en echo -- pa vidi, če dela :-).
https://dolhar.si/
Uporabnik ::
dela mi pa tole
$types_to_register = array('GET','POST','COOKIE','SESSION','SERVER');
foreach ($types_to_register as $type) {
if (@count(${'HTTP_' . $type . '_VARS'}) > 0) {
extract(${'HTTP_' . $type . '_VARS'}, EXTR_OVERWRITE);
}
}
sam tud ne čist tko k bi hotu... čim grem en klik (url po strani) naprej, že zgubi, hmm session
$types_to_register = array('GET','POST','COOKIE','SESSION','SERVER');
foreach ($types_to_register as $type) {
if (@count(${'HTTP_' . $type . '_VARS'}) > 0) {
extract(${'HTTP_' . $type . '_VARS'}, EXTR_OVERWRITE);
}
}
sam tud ne čist tko k bi hotu... čim grem en klik (url po strani) naprej, že zgubi, hmm session
Zgodovina sprememb…
- spremenilo: Uporabnik ()
darh ::
dej ti povej TOČNO kaj bi rad dosegu ?
pretvoru vse $_GET in $_POST v ustrezne istoimenske spremenjivke?
ne delat tega..
sej je fino in kamot.. samo bojš je vsako posebej..
pol točno veš kaj imaš!
Belive me...
pretvoru vse $_GET in $_POST v ustrezne istoimenske spremenjivke?
ne delat tega..
sej je fino in kamot.. samo bojš je vsako posebej..
pol točno veš kaj imaš!
Belive me...
Excuses are useless! Results are priceless!
Uporabnik ::
ja sej vem...
nove strani bodo na "off"
je pa res velik enega dela če hočeš kolkr tolk safe narest zadeve, sploh če nisi že od začetka tko "navajen"
nove strani bodo na "off"
je pa res velik enega dela če hočeš kolkr tolk safe narest zadeve, sploh če nisi že od začetka tko "navajen"
Zgodovina sprememb…
- spremenilo: Uporabnik ()
darh ::
a..
zadevo lahko vklopiš samo za en direktorij (in ostale poddirektorije)
V datoteko .htaccess dodaš:
php_flag register_globals on
In to je to..
samo odvisno od ponudnika če ti to dovoli...
zadevo lahko vklopiš samo za en direktorij (in ostale poddirektorije)
V datoteko .htaccess dodaš:
php_flag register_globals on
In to je to..
samo odvisno od ponudnika če ti to dovoli...
Excuses are useless! Results are priceless!
Uporabnik ::
sem poskušal z htaccess in z virtualhost, pa mi na w2k nikakor ne rata
napaka pri restartu apacha (drugač je vhost delu):
ServerName localhost
DocumentRoot /var/www/html/mysite
php_value register_globals 0
napaka pri restartu apacha (drugač je vhost delu):
ServerName localhost
DocumentRoot /var/www/html/mysite
php_value register_globals 0
darh ::
nene.. moraš dat on pa off - AFAIK... ne me držat za besedo.. najprej probej tko..
drgač pa poglej v ERROR log kaj bi blo narobe.. zihr kej piše..
pa ni ti treba dat v konfiguracijski file od apacha.. lahko dodaš samo v file .htaccess ki ga dodaš v direktorij kjer maš php skripte..
drgač pa poglej v ERROR log kaj bi blo narobe.. zihr kej piše..
pa ni ti treba dat v konfiguracijski file od apacha.. lahko dodaš samo v file .htaccess ki ga dodaš v direktorij kjer maš php skripte..
Excuses are useless! Results are priceless!
Uporabnik ::
[Sun Mar 23 21:19:12 2003] [alert] [client 127.0.0.1] e:/new.podjetje.si/htaccess.txt: Invalid command 'php_flag', perhaps mis-spelled or defined by a module not included in the server configuration
by the way, htaccess.txt pa zato ker w2k ne sprejme .htaccess, kar sm popravil tud v httpd.conf
v htaccess.txt datoteki pa je samo ena vrstica v kateri je zapisano:
php_flag register_globals off
by the way, htaccess.txt pa zato ker w2k ne sprejme .htaccess, kar sm popravil tud v httpd.conf
v htaccess.txt datoteki pa je samo ena vrstica v kateri je zapisano:
php_flag register_globals off
Uporabnik ::
heh, pa sessions nehajo delat :( oz. vse na novo :(
ne vem če je vredn truda tale globals off
ne vem če je vredn truda tale globals off
Zgodovina sprememb…
- spremenilo: Uporabnik ()
Ziga Dolhar ::
Nikakor.
Če je tvoja koda sicer zasnovana tako, da je varna register_globals navkljub.
...
Če je tvoja koda sicer zasnovana tako, da je varna register_globals navkljub.
...
https://dolhar.si/
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Ne prenese spremenljivke iz enega php-ja v drugegaOddelek: Izdelava spletišč | 1241 (1144) | Looooooka |
» | Zelo enostavna PHP skripta, ki ne dela - help :(Oddelek: Izdelava spletišč | 1558 (1323) | snow |
» | kater apache ext.Oddelek: Izdelava spletišč | 763 (741) | Uporabnik |
» | PHP in globalne spremenljivkeOddelek: Programiranje | 1231 (1111) | neonX |