Gå til innhold

Artikkel: Sikkerhet Del 1 - Feil bruk av include


Anbefalte innlegg

Skrevet

Har oppdatert switch scriptet i artikkelen til dette:

 

<?php 

 switch ($side) { 



   case "ommeg": 

     include("ommeg.html"); 

   break; 



   case "php": 

     include("ommeg.html"); 

   break; 



   default: 

    include("index.html"); 

 } 

 //Hvis $side ikke inneholder ommeg eller 

 //php vil index.html automatisk bli includet. 



?> 

 

Har du register_globals satt til on, vil det gamle ha et potensielt sikkerhetshull i $inc_side variablen hvis man glemmer å sette

$inc_side = "";

før man går inn i switch'n.

Videoannonse
Annonse
Skrevet
Linken vil bli side.php?$side=ommeg f.eks...

Men skal den $ være med eller skrev du feil... linken virket bare litt utradisjonell!

 

takk

  • 2 måneder senere...
Skrevet

Når en henter navnet på siden som skal inkluderes sånn rett fra $_GET kan det være greit å kjøre regexps som sjekker at strengen ikke inneholder artige tegn som kan fucke opp.

!"#¤%/()='' " er noen.

Hvis en samtidig ikke er så nøye hvor filene en inkluderer ligger kan en få morsomme resultater

Skrevet

<?php

switch (strtolower($p)) {

   case 'start':

      @include("filelmappe/" . strtolower($p) . ".php");

   break;

   case 'meg':

      @include("filelmappe/" . strtolower($p) . ".php");

   break;



   default:

      include("filemappe/start.php");

}

?>

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...