Permalänk
Medlem

Vad är "register_globals"

Som tråden lyder så undrar jag vad det är egentligen och vad den gör.

Jag har laddat hem ett helt script och för att få det att funka så måste jag ha register_globals på on.

Tack på förhand.

Edit: Sökte lite innan jag skrev, men hittade inget bra svar.

Visa signatur

xciso

Permalänk
Medlem
Visa signatur

~ When there's no more room in hell, the dead will walk the earth. ~

Permalänk
Hedersmedlem

Usch, hatar folk som skriver script som bara fungerar med register_globals på!

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

Du kunde gått in på den näst översta tråden också så hade du sluppit söka.

Tips och Trix för PHP-utvecklare

Visa signatur

10 RTFM
20 RTFAQ
30 STFW

Permalänk

Om du har Register_globals påslaget i Php.ini så kan du skicka variabler genom formulär. T.ex om du skickar $_POST['namn'] så blir namn en variabel, $namn, med värdet du postade.
Om du nu verkligen vill sätta det till ON så gå till windowsmappen, sen php.ini sen leta upp raden register_globals = off och ändra till on.

Visa signatur

Så du söker den perfekta sidan om webbradio? Surfa då vidare till
http://www.radioworld.se
där finns allt du behöver veta om hur du drar upp en ström!

Permalänk
Medlem

Joo jag vet vart man sätter till ON, men jag vet inte riktigt vad det blir för risker om man har det på ON.

Visa signatur

xciso

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av CrazyMovie
Joo jag vet vart man sätter till ON, men jag vet inte riktigt vad det blir för risker om man har det på ON.

Om du gör ett script som loggar in dig och sedan sätter $inloggad till 1, vilket inte alltid är en bra idé men ett bra exempel, så är det halv-säkert sådär.
Om du kör med register_globals on kan någon bara gå till http://din_sida?inloggad=1 så är det klart, eftersom PHP sätter $inloggad till 1.
Kör du däremot med register_globals avstängd så skulle $inloggad vara orörd, och istället skulle PHP sätta $_GET['inloggad'] till 1, vilket inte spelar någon roll alls.

Med andra ord, användaren kan "skriva över" variabler hur som helst med register_globals.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Medlem

Finns det något smidigt sett att få saker och ting att fungera utan globals om det normalt behövs?

Jag har ändrat till ON på min lokala burk för att kunna ´se sidan, men ändå fast jag ändrat på 2 ställen i php.ini så får jag upp detta fel:

FATAL ERROR: register_globals is disabled in php.ini, please enable it!

Visa signatur

xciso

Permalänk
Hedersmedlem

Leta på alla ställen där man kan tänkas att information matas in från formulär...
EDIT: Vart fick du scriptet ifrån? Vilken sida?

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

Jag laddade hem en webshop från: www.oscommerce.com

Visa signatur

xciso

Permalänk
Hedersmedlem

Är det oscommerce som du försöker fixa?
Isf så ska jag nog maila programmerarna och säga till dem att sluta köra med register_globals. Det är nästan ingen som kör med det numera...

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

M0REc

Ja det tycker jag att du ska göra för det är det som skapar problemet..

Tackar för tipsen

Visa signatur

xciso

Permalänk
Hedersmedlem

Har läst igenom en massa filer nu, hittar inget om att de föreskriver att register_globals ska användas...

EDIT: Om man kollar i filen STANDARDS så står det vilka variabler de tycker att man ska använda, och det är $_GET, $_POST mm...

Skumt att de inte följer sina egna rekommendationer

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

Jag får i alla fall det ovanstående meddelandet..

Visa signatur

xciso

Permalänk
Hedersmedlem

Hmm, verkar som ett eget felmeddelande de har lagt in... Är inte riktigt "php-style" på det...

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

OK! Jag kan inte så mkt php..

kanske därför jag valde en sån här shop och inte gjorde en egen

Visa signatur

xciso

Permalänk
Hedersmedlem

Sådär, mail skickat, och kom på en egen lösning för att bli av med det sålänge, verkar fungera iaf...

I includes/application_top.php ändra

if (function_exists('ini_get')) { ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!'); }

till

/* if (function_exists('ini_get')) { ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!'); } */

Gör samma sak i install/application.php

EDIT: De kodar inte heller med E_ALL utan med E_ALL & ~E_NOTICE

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Hedersmedlem

m0REc: Märkligt att de har den där koden med. register_globals går nämligen inte att påverka med ini_set(), endast med php.ini, .htaccess eller httpd.conf.

Permalänk
Hedersmedlem

Kennel: Det är ini_get(); inte ini_set();

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av m0REc
Sådär, mail skickat, och kom på en egen lösning för att bli av med det sålänge, verkar fungera iaf...

I includes/application_top.php ändra

if (function_exists('ini_get')) { ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!'); }

till

/* if (function_exists('ini_get')) { ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!'); } */

Gör samma sak i install/application.php

EDIT: De kodar inte heller med E_ALL utan med E_ALL & ~E_NOTICE

Tackar så jättemycket för koden

Vet tyvärr inte vad det blir för skillnad då koden nästan är likadan.

Vad betyder: E_ALL utan med E_ALL & ~E_NOTICE

Visa signatur

xciso

Permalänk

E_ALL så rapporteras alla fel och notiser. E_ALL & ~E_NOTICE så rapporteras bara fel.

Visa signatur

Så du söker den perfekta sidan om webbradio? Surfa då vidare till
http://www.radioworld.se
där finns allt du behöver veta om hur du drar upp en ström!

Permalänk
Medlem

E_ALL ^ E_NOTICE annars

Visa signatur

~ When there's no more room in hell, the dead will walk the earth. ~

Permalänk
Medlem

Re: Vad är "register_globals"

Citat:

Ursprungligen inskrivet av CrazyMovie
Som tråden lyder så undrar jag vad det är egentligen och vad den gör.

Jag har laddat hem ett helt script och för att få det att funka så måste jag ha register_globals på on.

Tack på förhand.

Edit: Sökte lite innan jag skrev, men hittade inget bra svar.

Ta datakörkort. Om du inte kan hitta information om "register_global" på det här forumet eller google så undrar man lite hur långt du kommit i php-programmeringen. Seriöst.

Visa signatur

Visionär bakom Sveriges största publika spelsatsning. Säger jag mer så blir jag förmodligen bannad igen.

Ställ krav! Involvera er! Tänk utanför sandlådan.

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av CrazyMovie
Tackar så jättemycket för koden

Vet tyvärr inte vad det blir för skillnad då koden nästan är likadan.

Den kommenterar ut så att den ger felmeddelandet om man inte har register_globals påslaget i php.ini...

Citat:

Ursprungligen inskrivet av Shark^
E_ALL ^ E_NOTICE annars

Nej, det är annan syntax när man kör med funktionen error_reporting();

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Medlem

m0REc, men resultat blir det samma..

E_ALL^E_NOTICE == E_ALL&~E_NOTICE

men ^ är lite snyggare, och det är även ^ som php.net lär ut..

Visa signatur

~ When there's no more room in hell, the dead will walk the earth. ~

Permalänk
Hedersmedlem

Shark^: Ah, hade för mig att de skrev &~ i error_reporting exemplen, kanske bara jag som har inbillat mig?

Jo, isf är de samma sak

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk
Hedersmedlem

Men...
Har de inte kodat hela skiten för register_globals on då? Isåfall kommer det ju inte funka att bara ta bort koden som kollar sådär, utan du måste ändra alla $x till $_GET['x'] / $_POST['x'] / $_COOKIE['x'] osv?

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Medlem

Re: Re: Vad är "register_globals"

Citat:

Ursprungligen inskrivet av weird
Ta datakörkort. Om du inte kan hitta information om "register_global" på det här forumet eller google så undrar man lite hur långt du kommit i php-programmeringen. Seriöst.

Varför ska jag googla runt i timmar eller dagar när jag kan fråga här och få svar direkt av massa trevliga..

Om du tycker att frågan har varit uppe för mycket förut så behöver du ju inte kolla på mitt inlägg!!

Visa signatur

xciso

Permalänk
Medlem

Re: Re: Re: Vad är "register_globals"

Citat:

Ursprungligen inskrivet av CrazyMovie
Varför ska jag googla runt i timmar eller dagar när jag kan fråga här och få svar direkt av massa trevliga..

Om du tycker att frågan har varit uppe för mycket förut så behöver du ju inte kolla på mitt inlägg!!

Det tog mig 10 sekunder att hitta bra information (på svenska t.o.m.) via google. Jag sökte helt enkelt på "register_globals" och "php".

Visst får man hjälp på sweclockers men det känns lite överflödigt att ställa frågor om "core" som finns i princip varje tutorial eller liknande.

Visa signatur

Visionär bakom Sveriges största publika spelsatsning. Säger jag mer så blir jag förmodligen bannad igen.

Ställ krav! Involvera er! Tänk utanför sandlådan.

Permalänk
Medlem

Joo, men jag fick ju ut något bra utav detta inlägg.

Tack vare M0REc så behöver jag inte använda mig utav register_globals..
Och det var väl tur det för det funkar inte på servern med det.

Visa signatur

xciso