Avatar billede [tpl]foxy Nybegynder
29. september 2008 - 19:47 Der er 5 kommentarer

fejl i kode

Jeg har lavet et lille script som ved ?side=forside&sprog=da henter en fil frem som hedder: forside.da, jeg har fået fixet, så hvis side= er tom, så hopper den over på "forside." - , men den skal jo gerne ramme "forside.da"

Nogen der kan hjælpe?

<?php
if (empty($_GET['side']) || eregi('../',$_GET['side']) || !is_file('indhold/'.$_GET['side'].'.txt')) {
    $_GET['side']='forside';
}
      include('indhold/'.$_GET['side'].'.'.$_GET['sprog']);
?>
Avatar billede [tpl]foxy Nybegynder
29. september 2008 - 20:08 #1
Jeg har nu fået løst det meste af problemet. Men der er vist en mindre fejl ved !is_file?

<?php
if (empty($_GET['side']) || eregi('../',$_GET['side']) || !is_file('indhold/'.$_GET['side'].'.'.$GET_['sprog'])) {
      include('indhold/forside.da');
}
else {
      include('indhold/'.$_GET['side'].'.'.$_GET['sprog']);
}
?>
Avatar billede w13 Novice
29. september 2008 - 20:13 #2
Hvilken fejl? :)
Avatar billede mcardle Nybegynder
29. september 2008 - 21:12 #3
Du kan vel lave en switch? Det kommer vel an på hvor man sprog du har, men noget i den her stil.

switch($_GET["sprog"]){
  case "en":
    $myIndex = "forside.en.php";
    break;
  case "cn":
    $myIndex = "forside.cn.php";
    break;
  default:
    $myIndex = "forside.da.php";
    break;
}

//mcardle
Avatar billede mcardle Nybegynder
29. september 2008 - 21:13 #4
Eller har alle siderne en ."sprog".php?

//mcardle
Avatar billede olebole Juniormester
29. september 2008 - 21:31 #5
<ole>

Som jeg kan se det, er den væsentligste fejl vel, at man kan includere et hvilket somhelst dokument fra serveren - indenfor, såvel som udenfor, webspace!  =8-O
    ?side=&sprog=../../fil.inc

Du angriber begrebet sikkerhed fra den forkerte ende. Du må ikke forsøge at definere, hvad der er ulovligt - så har du tabt på forhånd. Du skal i stedet definere, hvad der tilladt  ;o)

Kik på:
    http://dk2.php.net/manual/en/function.basename.php

/mvh
</bole>
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