Avatar billede boxerfjaes Nybegynder
29. april 2009 - 12:45 Der er 3 kommentarer og
1 løsning

$_GET[var] - sikkerhed mod direkte skrift i browser

Hej!

Jeg bruger $_GET til at sortere et tabeludskrift. Problemmet er nu at min database MySQL indeholder oplysninger som brugerne ikke skal kunne få info om. Jeg har forsøgt mig med følgende if-sætning uden størrere held:

if(isset($_GET['order'])){
    if($_GET['order'] == "nation" || "firstname" || "lastname" || "age" || "no_races" || "gold" || "silver" || "bronze"){
        $order = $_GET['order'].", firstname, lastname";
    }else{
        $order = "firstname, lastname";
    }
}else{
    $order = "firstname, lastname";
}

Ved klik på linket sorteres efter 'age':
<a href=\"index.php?page=frontpage&order=age\">Age</a>

Man kan imidlertid bare skrive:
index.php?page=frontpage&order=value

Så sorteres der efter value som brugeren ikke skulle have noget kendskab til...

Hvordan skal den skæres?
Avatar billede jakobdo Ekspert
29. april 2009 - 13:23 #1
Prøv denne kode:

$order_a = array('nation','lastname','age','no_races','gold','silver','bronze');
$order = "firstname, lastname";

if(isset($_GET['order']) && in_array($_GET['order'],$order_a)){
    $order = $_GET['order'].", firstname, lastname";
}
Avatar billede boxerfjaes Nybegynder
29. april 2009 - 14:55 #2
Super!
Det virker.
Tak for hjælpen.
Hvordan giver jeg point?
Avatar billede jakobdo Ekspert
29. april 2009 - 15:01 #3
Ved du får et svar her...
Avatar billede jakobdo Ekspert
29. april 2009 - 20:49 #4
Takker for point.
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