PeeerMedlem sedan mars 20025 907 inlägg Hej!
Håller på och utvecklar en applikation modell större, som ev. kommer att köras på ett antal olika servrar. Problemet är att en del av dessa servrar har register_globals = on och en del har det inte. Går det (direkt i koden) att stänga av denna otygsfunktion på de servrar som har den på?
Om inte, hur ska man skydda sig mot att användare skickar data i querystrings som påverkar scriptet?
MatteMedlem sedan aug. 20002 975 inlägg Genom att du arbetar direkt mot array-variablerna, d.v.s $_GET['variabel'] o.s.v istället för $variabel, så ska det inte göra så stor skillnad på om register_globals är satt eller ej, ur säkerhetssynpunkt.
Låt dessutom bli alla omskrivningar typ
$variabel = $_POST['variabel'];
Absolut viktigast är detta när du arbetar med sessionsvariabler.
Arbetar du direkt med array-variablerna så är det heller inget problem att flytta skripten mellan servrar med register_globals satt eller ej.
Undvik dessutom att ha samma index för sessionsvariabler som för t.ex. POST- eller GET-variabler, annars kan dessa påverka sessionsvariabeln då register_globals är satt.
Själv brukar jag lägga till ett prefix i mina index för sessionsvariabler, typ $_SESSION['sess_user'], så jag kan vara säker på att det inte blir någon variabelkrock.
PeeerMedlem sedan mars 20025 907 inlägg Vi får köra på det då. Tackar :)