PHP setup på server for accept af variable i URL

Tags:    php

Hej

Ifbm. flyt til en ny konto på en hosted server virker variable, f.eks. www.herog.nu/index.php?abc=123, ikke.

Er der noget man skal slå til for at der kommer til at virke?

Mik D



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Hvis det er $abc=="123" der ikke virker så kaldes det register_globals og er noget du skal gå helt væk fra. Brug i stedet $_GET['abc'].

Den url du beskriver vil virke efter hensigten hvis der ikke foregår urlomskrivning.



Indlæg senest redigeret d. 10.05.2008 23:08 af Bruger #10216
Hej

OK, men det har virket før uden at skulle "gette" variable. Hvad kan grunden være til at det ikke længere virker?

Hvorfor er GET et bedre princip?

Mik D


Siden PHP 4.1.0 har $_GET, $_POST og $_SERVER eksisteret som super globals. Fra PHP 4.2.0 blev register_globals sat til OFF som default.

Fordelene er bla., at du adskiller interne variable i dit script fra variable i url:

Se koden herunder (fra php.net - http://dk2.php.net/register_globals)
Fold kodeboks ind/udKode 


Hvis du ikke selv definere $authorized som false i starten, vil du kunne få adgang til /highly/sensitive/data.php ved at skrive: www.domain.dk/index.php?authorized=1 (hvis register_globals er sat til ON)


Med register globals ville du ikke kunne gøre dette, da din interne $authorized ikke har noget med $_GET['authorized'] at gøre...



Indlæg senest redigeret d. 12.05.2008 09:34 af Bruger #4683
Hej

OK, men det har virket før uden at skulle "gette" variable. Hvad kan grunden være til at det ikke længere virker?

Hvorfor er GET et bedre princip?

Mik D



t