Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

register_globals = off

[es] :: PHP :: register_globals = off

Strane: 1 2

[ Pregleda: 7370 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.ppp-bg.sezampro.yu



Profil

icon register_globals = off30.04.2002. u 03:17 - pre 266 meseci
Posle vishe najava ... da ne kazem upozorenja, u poslednjoj verziji PHPa [4.2.0] od 22. aprila, po defaultu u php.ini-ju stavljeno je:
register_globals = off

Za one sa jeftinijim kartama objashnjenje ... po defaultu vishe nece raditi dodeljivanje vrednosti varijablama na sledeci nachin:
http://www.bla.com/index.php?ovo=ono

...vishe ovako nece varijabli $ovo moci da se dodeli vrednost "ono".
Obrazlozenje je da je to preveliki bezbednosni rizik.
Da neko pogreshno ne shvati, nije ovo potpuno iskljucheno, promeni se ta linija u php.ini-ju na register_globals = on ...i sve je po starom, ali prvo shto ce biti cimanja dok se admin servera namoli na to, pod uslovom da uopshte zeli da to uradi. Druga stvar je ... velika verovatnoca je da ce u neko, pa hmmm ... skorije vreme ovo POTPUNO izbaciti.
I dalje ce biti moguce prosledjivanje varijabli putem forme [get, post ...nije bitno].
Za ischitavanje tih varijabli josh u verziji PHPa 4.1.0 [mislim] stavljene su varijable $_GET, $_POST, $_COOKIE ... sa kojima mogu da se ischitavaju varijable npr na nachin $_GET["varijabla"]. Da ne gushim previshe, dovoljno objashnjenja ima na adresi:
http://www.php.net/release_4_1_0.php
[da znam da je adresa 4.1.0 ali tu je lepo objashnjeno bash u vezi ovoga register_globals]

Kako zaobici ovu kosku kada se zna da ogroman broj php scripti koristi ovakav nachin dodeljivanja vrednosti varijablama? Od najjednostavnijih, pa do najkomplikovanijih [shopovi, e-commerce sajtovi itd]... pa i ovaj forum.

Mislim znam kako zaobici, ne trazim uputsvo, nego je vishe pitanje radi pitanja, poshto ce morati da se menjaju linije i linije koda a i sve postaje komplikovanije. Umesto da se recimo samo na sajt stavi
<a href="link.php?category=igracke">Igracke</a>
, sada ce morati neshto tako bedno kao
<form action="link.php"><input type=submit name=category value="igracke">
... i slichne varijacije na temu. [ova je chini mi se josh i najjednostavnija, a opet je ruzna ]

Ko ima neka dodatna pitanja ili komentare ... ili jednostavno samo zeli da se rasplache, samo neka raspali ovde.

P.S. Znam koje "security risk" donosi ako je ova opcija ukljuchena [imate chini mi se neshto malo i na ovom linku iznad], ali bez obzira, dobar programer ce znati da prepozna kada ovo register_globals moze da olaksha zivot a da ne ugrozi sigurnost. Zato mislim da je ovo losh potez. Povecali su sigurnost samo na sajtovima sa scriptama koji imaju loshiji coding. Mozda je to nekima bitno, ali mislim da usporava razvoj PHPa.
 
Odgovor na temu

Zoran Rašković
Serbia

Član broj: 95
Poruke: 1360
*.ipt.aol.com



+1 Profil

icon Re: register_globals = off30.04.2002. u 03:35 - pre 266 meseci
Ma da.... Sta da ti kazem :(

Ja kad sam instalirao php 4.1.3 ( ovaj 4.2.0 jos uvek nisam probao da stavim), i tu je jos register_globals bilo off pa nisam znao zasto mi skoro nista nije radilo :)

Tek sam onda video sta je problem.
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1043
*.drenik.net



+3 Profil

icon Re: register_globals = off30.04.2002. u 11:00 - pre 266 meseci
Citat:
RAZZLEDAZZLER:
<a href="link.php?category=igracke">Igracke</a>
sada ce morati neshto tako bedno kao
<form action="link.php"><input type=submit name=category value="igracke">


Ovo mi bas i nije jasno, zasto mora da se stavi forma (klikom na link se salje GET zahtev tako da ces prenetim podacima pristupati preko $_GET niza).
Prepravke na postojecim sajtovima bi trebalo da budu minimalne, samo na pocetku svake skripte treba za sve da se stavi linija tipa
$ime_promenjlive=$_GET["ime_promenjljive"] <--quick and dirty way

Jeste da ce biti cimanja ali sta ces skoro sam siguran da negde u manualu od PHP 4.0.6 pise da se preporucuje pristup varijablama preko HTTP_GET_VARS i HTTP_POST_VARS nizova.



Owl
 
Odgovor na temu

FlatLine
Beograd

Član broj: 873
Poruke: 72
*.arcor-ip.net



+1 Profil

icon Re: register_globals = off30.04.2002. u 13:37 - pre 266 meseci
Ja sam kod sebe instalirao Apache 2.0.35, PHP 4.2.0 i ucim se da pisem skripte na novi, sigurniji nacin :) Mogu reci, vise mi se svidja pristup varijablama preko globalnih _GET _POST .. nizova iako ima vise da se kuca.

Kome treba Quick'n'Dirty, najjednostavnije je ovako nesto:
Code:
if ($_GET) { 
    foreach (array_keys($_GET)  as $Var) { 
        $$Var = $_GET["$Var"];
    }
}


guru in training
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.ppp-bg.sezampro.yu



Profil

icon Re: register_globals = off30.04.2002. u 13:45 - pre 266 meseci
Pa preporuchuju oni ovakav nachin rada , da kazem odavno ...

Ali sad mi tek nije jasno.
Kada se na ovaj nachin promeni kod, zar nece onda postojati sve sigurnosne rupe kao i do sada?
Ajd' nek mi neko objasni...najbolje uz neki kratak primer gde se vidi razlika
 
Odgovor na temu

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.bankerinter.net

Sajt: www.mycity.rs


+1 Profil

icon Re: register_globals = off30.04.2002. u 13:56 - pre 266 meseci
Citat:
RAZZLEDAZZLER:
Umesto da se recimo samo na sajt stavi
<a href="link.php?category=igracke">Igracke</a>
, sada ce morati neshto tako bedno kao
<form action="link.php"><input type=submit name=category value="igracke">

Ne, ne, pogresno si shvatio.
GET metoda ostaje.
Samo promenljive iz GET/POST neces moci vise onako da hvatas.
Jest' da je frka da se srede skripte, ali je tako mnogo bezbednije.
 
Odgovor na temu

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.bankerinter.net

Sajt: www.mycity.rs


+1 Profil

icon Re: register_globals = off30.04.2002. u 14:08 - pre 266 meseci
Citat:
RAZZLEDAZZLER:
Kada se na ovaj nachin promeni kod, zar nece onda postojati sve sigurnosne rupe kao i do sada?

Sa onim kodom sto je dao FlatLine - sve ostaje isto, jer sve ulazne promenljive ponovo prebacujes u obican oblik --> $promenljiva.
ALI, ako tacno na pocetku skripte definises koje promenljive hoces da stavis u obicnom obliku - onda je mnogo bezbednije sve.
Mada, ja sam ovaj problem do sada resavao tako sto glavne stvari stavljam u jednu veliku funkciju, koja vidi samo one promenljive koje si joj naveo pod GLOBAL.
 
Odgovor na temu

Predrag Damnjanovic
Predrag Damnjanovic
Nis, Srbija

Član broj: 141
Poruke: 1305
*.bankerinter.net

Sajt: www.mycity.rs


+1 Profil

icon Re: register_globals = off30.04.2002. u 23:17 - pre 266 meseci
Evo najjednostavnijeg resenja:
ini_set ("register_globals", "1");
Bas sam sad listao php manual...
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.ppp-bg.sezampro.yu



Profil

icon Re: register_globals = off01.05.2002. u 02:32 - pre 266 meseci
evo i ovde da prospem ono malo mudrosti shto nemam, ... ne bi trebalo na ovaj kod iznad da se navikavate, jer cete opet morati da menjate kod kada potpuno budu izbacili to register_globals [shto potajno najavljuju za neku tamo buducnost]
 
Odgovor na temu

DOWNLOADS.CO.YU

Član broj: 64216
Poruke: 25
*.dialup.neobee.net.

ICQ: 347149987
Sajt: www.Downloads.co.yu


Profil

icon Re: register_globals = off26.07.2005. u 12:40 - pre 227 meseci
Sluceno sam naisao na ovu temu pa rekoh da odgovor jer ce mozda nekome biti od kotisti.

Znaci ukoliko hocete da ukljucite register_globals na on uradite to ovako


Napravite jedan .htaccess fajl u koji cete upisati "php_flag register_globals on"(bez navodnika) zatim ga postavite na vas server i to je to.

www.downloads.co.yu
Najveca arhiva domaceg softwera.
 
Odgovor na temu

pCp
Goran Bosnic
Beograd

Član broj: 42335
Poruke: 36
*.152.EUnet.yu.



Profil

icon Re: register_globals = off13.08.2005. u 21:59 - pre 226 meseci
Tek pocinjem da ucim PHP i imam dosta veliki problem sa prikazivanjem vrednosti
niza u rezultatu.
PHP kod je sledeci razmisljao sam da upotrebim funciju "import_request_variables()" mozda bi mi ona pomogla ali iskreno da kazem ne znam kako se koristi.
Code:

<select name="Motor[]" multiple>
<option>1.4L</option>
<option>1.6L</option>
<option>1.8L</option>
<option>2.0L</option>
</select>

<?php
echo "<br>Po tipu motora:<br>";
echo $_REQUEST["Motor[0]"];
echo $_REQUEST["Motor[1]"];
echo $_REQUEST["Motor[2]"];
echo $_REQUEST["Motor[3]"];
?>


Verujem da postoji jednostavno resenje ali posto sam ja "guster" molim nekog da mi pomogne.

Hvala!
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: register_globals = off14.08.2005. u 09:55 - pre 226 meseci
meni ovako radi....

Code:
<form action='#' method='post'>
<select name="Motor[]" multiple>
<option>1.4L</option>
<option>1.6L</option>
<option>1.8L</option>
<option>2.0L</option>
</select>
<br>
<input type=submit value=Submit>
</form>

<?php
echo "<br>Po tipu motora:<br>";

$motorniz = $_POST['Motor'];
$br = count($motorniz);


for ($i = 0; $i < $br; $i++) {
echo $motorniz[$i] . "<br>\n";
}

?>

Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

pCp
Goran Bosnic
Beograd

Član broj: 42335
Poruke: 36
*.93.EUnet.yu.



Profil

icon Re: register_globals = off15.08.2005. u 08:40 - pre 226 meseci
Ok hvala ti radi i kod mene !


Ako mozes jos da mi objasnis ovaj deo koda
Code:

<select name="Motor[]" multiple>

ovde je ime "Motor[]"
A u PHP kodu imam promenljivu
"$motorniz" koja uzima podatke iz imena "Motor"(bez zagrada).
E to mi je pitanje,
Kako on moze da uzima podatke iz imena "Motor" ako je bez zagrade???
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
194.247.222.*

Sajt: www.novikorisnik.net


+5 Profil

icon Re: register_globals = off15.08.2005. u 11:57 - pre 226 meseci
Tako ti u php stigne niz selektovanih motora, a ne samo jedna vrednost.

Proveri...

echo '<pre>';
print_r ($_POST ['Motor']);
die ('</pre>');
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: register_globals = off15.08.2005. u 14:29 - pre 226 meseci
upravo tako ;)

cak ni ja nisam znao da treba u formularu da se stavi [] pa mi je prosledjivao jednu vrednost, onda sam iz tvog primera video da ide [] pa sam stavio, i - radi!
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

pCp
Goran Bosnic
Beograd

Član broj: 42335
Poruke: 36
*.167.EUnet.yu.



Profil

icon Re: register_globals = off15.08.2005. u 19:25 - pre 226 meseci
Jasno je meni ovo :)
Citat:
echo '<pre>';
print_r ($_POST ['Motor']);
die ('</pre>');


Ali nije mi jasno ovo
Code:

<select name="Motor[]" multiple>

U ovom formularu "Motor[]" ima zagrade.

A u
Code:

$motorniz = $_POST['Motor'];

ovom delu koda deklarisana je promenljiva "$motorniz" koja uzima podatke
iz "$_POST['Motor'],e ja ne kontam kako je ovaj motor bez zagrada??

Kapirate??
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
212.62.53.*

ICQ: 4849714


+68 Profil

icon Re: register_globals = off15.08.2005. u 19:35 - pre 226 meseci
to samo znaci da ce $_POST['motor'] da bude niz. Znaci
$_POST['motor'] = array("1" => "harley", "2" => "honda");
 
Odgovor na temu

pCp
Goran Bosnic
Beograd

Član broj: 42335
Poruke: 36
*.214.EUnet.yu.



Profil

icon Re: register_globals = off15.08.2005. u 21:45 - pre 226 meseci
@flylord
Citat:

to samo znaci da ce $_POST['motor'] da bude niz. Znaci
$_POST['motor'] = array("1" => "harley", "2" => "honda");

Jasno je meni savrseno da ce to da bude niz i treba da bude niz.

Samo jednu stvar ne kopcam iako nije mnogo bitna ali eto zanima me

ja u HTML formularu imenujem vrednost kao sto je ova dole "Motor[]" koja treba da mi bude promenljiva sa nizom
Code:

<form action='#' method='post'>
<select name="Motor[]" multiple>
<option>1.4L</option>
<option>1.6L</option>
<option>1.8L</option>
<option>2.0L</option>
</select>


i zatim je deklarsem u php-u kao niz i to izgleda kao ovo dole
Code:

$motorniz = $_POST['Motor']; 
$br = count($motorniz);

for ($i = 0; $i < $br; $i++) {
echo $motorniz[$i] . "<br>\n";


muci me zasto ovde nemaju "$motorniz=$_POST['Motor']" "[]"uglaste zagrade ka u gornjem fomularu "<select name="Motor[]" multiple>",posto ja mislim da "[]" govore php-u da treba tu promenljivu da tretira kao niz.


Znam da sam dosadan ali sta ces,ako mozes ti ili neko drugi da mi objasni.

Hvala !
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
212.62.53.*

ICQ: 4849714


+68 Profil

icon Re: register_globals = off15.08.2005. u 21:48 - pre 226 meseci
to pitaj one sto prave PHP :) Jednostavno je tako napravljeno, jer je preglednije. Znaci, ako hoces da ti promenjiva iz HTML forme, prenosi vise parametara moras da joj stavis identifikator []. To nije deo imena, to samo oznacava da je ta promenjiva tipa niz a ne varchar...
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
194.247.222.*

Sajt: www.novikorisnik.net


+5 Profil

icon Re: register_globals = off16.08.2005. u 07:51 - pre 226 meseci
Citat:
pCp:
Jasno je meni ovo :)
Citat:
echo '<pre>';
print_r ($_POST ['Motor']);
die ('</pre>');

Nije ti jasno i tačka. To što razumeš tih par redova koda ne znači da razumeš zbog čega su napisani. Pogledaj malo kontekst...
Citat:
Tako ti u php stigne niz selektovanih motora, a ne samo jedna vrednost.

Proveri...

Dakle, kod ti služi za proveru, da vidiš šta ti prima PHP kad mu se prosledi formular.

I potom - PROVERI - šta se dešava kada u formularu izbrišeš problematične uglaste zagrade, uz isti ovaj kod.

...

Cela priča oko uglastih zagrada nema veze s pehapeom, već s browserom, kao jedini način da multiple svojstvo selekta dobije smisao prilikom prosleđivanjem formulara.
 
Odgovor na temu

[es] :: PHP :: register_globals = off

Strane: 1 2

[ Pregleda: 7370 | Odgovora: 24 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.