Avatar billede beerman Nybegynder
15. juli 2007 - 12:21 Der er 22 kommentarer

$_GET or not?

Hejsa.

Jeg vil gerne finde en brugbar måde at inludere mine underfiler til selve forsiden. Altså den knap så spændende index.php?show=something

Til den opgave valgte jeg først $_GET metoden, men uden held.
Nu prøver jeg den gode gamle metode, I må lige se om I kan hjælpe mig.

if (!$show){ $show = "forside"; // brugeren får..
    if (!file_exists){ $show = "404"; } } // hvis nu show=something ikke findes, skal den viderestille til min 404.

    $showsite = "php/" . $show . ".php"; // den her som output.

Mit problem er, at når brugeren f.eks skriver som beskrevet før, kommer der fejl og min placering af web root kommer til synlighed, hvilket ikke er så fedt.

Jeg river snart hovedet af mig selv, så håber nogen derude har et lækkert svar.
Hav en god dag.
Avatar billede leif Seniormester
15. juli 2007 - 13:05 #1
En lidt anderledes version:
<?php
if(isset($_GET["page"]))
{
  if(file_exists('php/' . $_GET["page"] . '.php'))
  {
    include('php/' . $_GET["page"] . '.php');
  }
  else
  {
    include('php/404.php'); 
  }
}
else
{
  include("php/forside.php");
}
?>
Avatar billede leif Seniormester
15. juli 2007 - 13:12 #2
Til en anden god gang, der forventes ofte $$$ afregning når du har lagt det i denne kategori. En reelt mere passende kategori efter min mening ville være: http://www.eksperten.dk/spm/Programmering/Script/PHP/
Avatar billede leif Seniormester
15. juli 2007 - 15:33 #3
Og har du glemt alt om: http://www.eksperten.dk/spm/737233
Avatar billede beerman Nybegynder
15. juli 2007 - 18:24 #4
Hej.

Jeg ved ikke hvordan jeres point huttelihej virker, kan forstå på dig - at jeg skylder dig lidt point.
Du får dem herfra ihvertifald, jeg ved bare ikke hvordan.
Avatar billede leif Seniormester
15. juli 2007 - 18:44 #5
Avatar billede leif Seniormester
15. juli 2007 - 18:44 #6
Hvis du mener at jeg har hjulpet så vil jeg ligge et svar.
Avatar billede olebole Juniormester
16. juli 2007 - 17:21 #7
<ole>

- og kan man gætte sig frem til, hvor 'spændende' filer ligger (og det er meget lettere, end man tror), kan hvad somhelst inkluderes med den viste metode.

Det kræver _væsentligt_ bedre tjek på, hvad brugeren vil inkludere - og om det kan tillades ... ikke mindst, hvis man har ligeså 'afslappede' upload-scripts!  ;o)

Hvordan det bør gøres, kan kun afgøres med bedre indsigt i den aktuelle applikation - men det er 100% sikkert, der bør vælges en mere sikker tilgang  =)

/mvh
</bole>
Avatar billede leif Seniormester
16. juli 2007 - 21:43 #8
Hvis man ikke har en upload funktion mener jeg at ovenstående er helt OK
Avatar billede olebole Juniormester
17. juli 2007 - 11:38 #9
leif >> med al respekt ... det finder du garanteret ikke mange, der er enig i ... tværtimod! Det er rent selvmord! Aldrig, aldrig, aldrig bruge utjekkede bruger-data til noget - og slet ikke includes  =)
Avatar billede leif Seniormester
17. juli 2007 - 11:56 #10
olebole -> Hvad så med at komme med et bud ?
Avatar billede leif Seniormester
17. juli 2007 - 11:57 #11
Jeg kan kun sige at efter jeg fik indført file_exists så er der ingen af mine sider eller andet som er blevet misbrugt !

Da du ikke fx. kan inkludere http://www.eksperten.dk hvis det er det som du mener.
Avatar billede olebole Juniormester
17. juli 2007 - 14:21 #12
file_exists giver absolut ingen sikkerhed i dette tilfælde. Den tjekker blot, at filen eksisterer. Ethvert PHP-dokument på din server kan inkluderes udfra en brugers ønsker ... det er da en _gigantisk_ sikkerhedsbrist! De fås ganske enkelt ikke væsentligt større!
At du ikke har haft problemer, skal du prise dig mere end lykkelig for. Det er et rent svineheld!

Undskyld de mange udråbstegn, men jeg er faktisk lidt rystet. Emnet har været oppe i dette forum et utal af gange og hvergang har de mere 'tunge' drenge advaret på det kraftigste mod lige netop dén fremgangsmåde. Det undrer mig, det helt er gået din næse forbi  =)
Avatar billede erikjacobsen Ekspert
17. juli 2007 - 14:29 #13
;) Giv os lige et link til din side, leif. Og giv os også lige lov til at slette alle dine filer ... haha. Nej, det er et sikkerhedshul af dimensioner. Du skulle smides ud af eksperten.dk for at foreslå det.
Avatar billede leif Seniormester
17. juli 2007 - 14:41 #14
Jeg vil da med glæde lave en Test side til jer med ovenstående script !

Men nu skulle det da ikke være svært at finde nogen af mine sider ! :-)
Avatar billede leif Seniormester
17. juli 2007 - 15:01 #15
erikjacobsen -> Du må da gerne gøre alt hvad du kan for at slette mine filer !
Avatar billede erikjacobsen Ekspert
17. juli 2007 - 15:45 #16
Nej, jeg har andet at give mig til, og i dit konkrete tilfælde er 'php/' foran med til at fjerne den første og oplagte mulighed. Problemet er at du ikke gør tydeligt opmærksom på hvor farerne ligger, og hvad man bør gøre i stedet for. Det er jo nemt nok - kig dig omkring på eksperten.dk.
Avatar billede leif Seniormester
17. juli 2007 - 17:05 #17
En anden løsning (og bedre?) løsning kunne være den som bruges på, hvor man tjecker på at der kun kan inkluderes noget som man i forvejen har skrevet ind i sit array:
www.ljnet.dk/exp/787593/index3.php

Hvor at følgende er muligt:
www.ljnet.dk/exp/787593/index3.php?page=something

Men at følgende IKKE er mulig selvom at filen "ikkemulig.php" findes:
www.ljnet.dk/exp/787593/index3.php?page=ikkemulig
Avatar billede erikjacobsen Ekspert
17. juli 2007 - 17:18 #18
Langt bedre ;)
Avatar billede olebole Juniormester
18. juli 2007 - 11:50 #19
Erik >> "i dit konkrete tilfælde er 'php/' foran med til at fjerne den første og oplagte mulighed" >> jeg kan vel bare påbegynde min query-streng med et passende antal '../' og derved arbejde mig ud i roden. Herfra kan jeg så adressere mig ind i enhver krog af sitet  ;o)

Dette:
    http://www.eksperten.dk/spm/Programmering/Script/VBscript/../PHP/

- sender mig f.eks. direkte ned i PHP-kategorien
Avatar billede olebole Juniormester
18. juli 2007 - 11:53 #20
- faktisk vil selv filer udenfor normalt webspace være i farezonen, hvis filer inkluderes ukritisk ... og der regnes de jo normalt for sikre (med alle forbehold for, at _intet_ er 100% sikkert)  ;o)
Avatar billede erikjacobsen Ekspert
18. juli 2007 - 11:53 #21
Ja, selvfølgelig. Men der er også andre boller på suppen, end lige den mulighed. Jeg vil ikke vejlede direkte til hacking, men havde der ikke stået noget foran, ville der være "den første og oplagte mulighed" der skulle prøves ... ;)

Skal du ikke bruge tiden til at lægge noget kode op, Ole....??
Avatar billede olebole Juniormester
19. juli 2007 - 13:20 #22
Som jeg allerede har prøvet at forklare dig i et andet indlæg, så er jeg ikke en gammel mand med boller på suppen - men derimod en sprød, energisk herre med 'ny suppe i bollerne'. Jeg har lagt kode op ... endda helt uden oplægningsstøtte  ;o)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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