DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > PHP
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

PHP PHP aplikacije, Smarty, PEAR

Odgovori
 
Alati teme Način prikaza
Staro 26. 09. 2006.   #1
dee
Domagoj Horvat
Expert
 
Avatar dee
 
Datum učlanjenja: 24.07.2006
Lokacija: Zagreb
Poruke: 502
Hvala: 22
10 "Hvala" u 8 poruka
dee is on a distinguished road
Pošaljite ICQ poruku za dee
Default Override register globals...

ako ikad iko naidje sa slicnim problemom, neka ne izgubi zivaca i vremena ko ja danas...

alzo...

dobio na instalaciju neki prastari CMS koji radi samo sa register_globals=on. da stvar bude interesantnija, instalira se na php/MySQL 5/5 i Apache 2 (koji za php_flag u .htaccess vraca Server Error)...

i nakon lutanja i googlanja, ispade ovaj komadic koda koji dodan u npr. config (kojeg inkludaju sve skripte aplikacije) rjesava stvar:

Citat:
if (!ini_get('register_globals')) {
$superglobals = array($_SERVER, $_ENV,
$_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {

array_unshift($superglobals, $_SESSION);
}
foreach ($superglobals as $superglobal) {
extract($superglobal, EXTR_SKIP);

}
}
pa ako ikome ustedi minutu vremena i milimetar zivaca - vrijedi
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo
dee je offline   Odgovorite uz citat
Staro 26. 09. 2006.   #2
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Ovo treba zakonom zabraniti. Mislio sam da su diskusije na ovu temu zatvorene pre dve godine?
Ilija Studen je offline   Odgovorite uz citat
Staro 26. 09. 2006.   #3
dinke
Super Moderator
Invented the damn thing
 
Avatar dinke
 
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
dinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamen
Default

Ma daj, ne znam da li sam nesto propustio, ali koliko se razumem u medicinu ovo:

PHP kôd:
ini_set('register_globals'1); 
resava sve probleme.

Edit
Ah, ipak ne ... PHP_INI_PERDIR

@Ilija
Ne bi mi verovao koliko se starih aplikacija/sajtova vrti jos uvek live, a nemaju svi volje/novca da ispravljaju taj kod.
__________________
Caught in a Web|Blogodak
With great power comes great responsibility!

Poslednja izmena od dinke : 26. 09. 2006. u 22:14.
dinke je offline   Odgovorite uz citat
Staro 26. 09. 2006.   #4
dee
Domagoj Horvat
Expert
 
Avatar dee
 
Datum učlanjenja: 24.07.2006
Lokacija: Zagreb
Poruke: 502
Hvala: 22
10 "Hvala" u 8 poruka
dee is on a distinguished road
Pošaljite ICQ poruku za dee
Default

Citat:
Originalno napisao dinke
Ma daj, ne znam da li sam nesto propustio, ali koliko se razumem u medicinu ovo:

PHP kôd:
ini_set('register_globals'1); 
resava sve probleme.
ne sa register globals...

@Ilija
sorry, nisam ovo mislio stavit kao diskusiju jer je o ovome receno sve i preko vise toga. nego bas ovo sto dinke kaze, naleti se na takav slucaj i onda razbijaj glavu sta ces -> smisljat/trazit ovakva rjesenja ili prepisivat varijable u par hiljada linija koda.

al ko sto rekoh, namjera mi nije bila diskusija nego cisto arhiviranje jednog konkretnog slucaja ako ikad ikome bude zatrebalo. that's all
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo
dee je offline   Odgovorite uz citat
Staro 26. 09. 2006.   #5
Ilija Studen
Direktor Kombinata
Invented the damn thing
 
Avatar Ilija Studen
 
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
Ilija Studen će postati "faca" uskoroIlija Studen će postati "faca" uskoro
Default

Opušteno. Shvatam i zašto si postavio temu, a i da imaju tone koda koji još uvek koristi tehnike koje su odavno "obeležene" kao zastarele ili potencijalno opasne.

Btw, postoji par načina kako da umetneš promenjive u globalni scope - ekstraktovanjem promenljivih dok si u njemu (što si ti i uradio) ili da ih umetneš u $GLOBALS niz. Iako nije diskusija ipak savet: ne radite to. Što čistiji globalni scope to je lakše, posebno ako su u pitanju složenije aplikacije koje treba održavati na duže staze.
Ilija Studen je offline   Odgovorite uz citat
Staro 26. 09. 2006.   #6
dinke
Super Moderator
Invented the damn thing
 
Avatar dinke
 
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
dinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamen
Default

Btw, Apache2 obicno vraca "internal server error" ako php podesavanja u .htaccess fajlu ne uokviris sa <IfModule ... na primer :

<IfModule mod_php5.c>
php_flag register_globals on
</IfModule>
__________________
Caught in a Web|Blogodak
With great power comes great responsibility!
dinke je offline   Odgovorite uz citat
Staro 27. 09. 2006.   #7
cvele
Banned
Knowledge base
 
Avatar cvele
 
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
cvele ima spektakularnu aurucvele ima spektakularnu auru
Default

mnogo jednostavno
PHP kôd:
if(!empty($_GET)) extract($_GET);
if(!empty(
$_POST)) extract($_POST);
if(!empty(
$_COOKIE)) extract($_COOKIE);
if(!empty(
$_SESSION)) extract($_SESSION); 
cvele je offline   Odgovorite uz citat
Odgovori



Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum


Vreme je GMT +2. Trenutno vreme je 02:12.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.