Avatar billede tinepingvin Nybegynder
16. januar 2006 - 10:55 Der er 4 kommentarer og
2 løsninger

Forskel på Register_Globals ON/OFF?

Hej med Jer

Er der en der kort men præcist på dansk, kan forklare mig hvad forskellen på Register_Globals ON/OFF er, og hvad jeg evt. skal tage hensyn til i min kode?

Har læst http://www.php.net/manual/en/security.globals.php men det er vidst et NIVEAU nørd højere end mig befinder mig på! :-)

På forhånd tak!
Avatar billede avminarm Juniormester
16. januar 2006 - 11:10 #1
Denne artikel kan måske hjælpe lidt:

http://www.wagners.dk/php/index.php?op=vis&artikel=4

Men kort fortalt blev register_globals sat til off fra PHP version 4.2. Dette blev gjort for at øge sikkerhden. Hvis register_globals er sat til "on" er variabler umiddelbart tilgængelige, mens med "off" skal f.eks. variabler sendt via en form tilgåes med $_POST, $_GET eller $_REQUEST.

Man bør køre med indstillingen "off".
Avatar billede cpfrande Nybegynder
16. januar 2006 - 11:10 #2
Halløjsa,

Helt basalt giver det dig mulighed for at tjekke hvordan du "modtager" variablerne. Det bruges meget ved f.eks. formularer, hvor du har oftest sender dataerne med POST-metoden.

Hvis du har to input-felter - henholdsvis "navn" og "alder", så vil du tilgå dem forskelligt afhængig af hvordan register_globals er.

Er register_globals slået til (=on) vil du kunne tilgå dem ved at bruge $navn og $alder.

Er register_globals slået fra (=off) vil du kunne tilgå dem ved at skrive $_POST['navn'] og $_POST['alder'].

Så tænker du sikkert at det er hurtigere at skrive blot $navn og $alder fremfor det andet, men alt i alt får du en bedre sikkerhed ved at bruge det andet.

Hvis du har det slået til, så vil du ikke kunne vide hvor variablen kommer fra (POST, GET, SESSION, COOKIE m.v.), men er det slået til kan du fastslå med det samme, at variablen kommer fra en POST-metode eller en GET-metode.

Det giver dig desuden mulighed for at have flere variabler "af samme navn".

F.eks.:
$_POST['navn'] = "variabel1";
$navn = "variabel2";

Det var nok en lidt forvirrende forklaring - men forsøgte at holde den på et lidt lavere niveau :P
Avatar billede avminarm Juniormester
16. januar 2006 - 11:12 #3
Avatar billede tinepingvin Nybegynder
16. januar 2006 - 11:30 #4
Super fantastisk. Jeg kigger lige lidt mere på det i dag.

Mange tusind tak for den meget pædagogiske forklaring! :-)

Smid nogle svar så får i nogle points.
Avatar billede cpfrande Nybegynder
16. januar 2006 - 11:38 #5
Svar! :-)

Held og lykke med det da.
Avatar billede avminarm Juniormester
16. januar 2006 - 12:06 #6
svar ;o) anytime!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester