Ja, det har noget at gøre med hvordan PHP er konfigureret, default i de nye versioner er at man skal bruge $_GET eller $_POST, af sikkerhedmæssige årsager.. Så kan en bruger ikke rette i en variabel du bruger, ved at skrive den i URL'en, og du ved præcis hvilke variabler du selv laver, og hvilke der kommer fra brugeren.
I php.ini, er en linie med register_globals I nyere PHP versioner, er den pr. default sat til Off Hvis du ændrer den til On, vil det virke, men er ikke anbefalesværdigt!
sukos--> kan du komme nærmere ind på hvorfor det ikke er anbefalesværdigt???
Synes godt om
Slettet bruger
26. maj 2004 - 19:15#13
Det står i Kaspers indlæg 26/05-2004 14:03:49, men jeg kan da lige uddybe.
Tidligere var det meget let at bruge variabler "udefra". Hvis man ikke var opmærksom var det til gengæld også meget let for folk udefra at "bryde ind" og lave ulykker.
Her er et eksempel på gammel kode, som ikke er indbrudssikker: <?php
session_start();
// test om navn og kode fra form er korrekt if ($brugernavn=="admin" && $kodeord=="hemmeligt"){ $login=$brugernavn; session_register('login') }
if ($login=='admin'){ echo "Hej admin!"; } else { echo "Skrid, der er lukket"; }
?>
Meningen var, at variablen $login skulle komme fra en session, men den kunne lige så godt komme fra adresselinien. Det kunne man godt teste for, men de fleste glemte det.
Synes godt om
Ny brugerNybegynder
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.