Zpět na seznam článků     Číst komentáře (7)     Verze pro tisk

PHP funkce include() a bezpečnost

Autor: rytir_s_plnovousem   
4.6.2006

Zkušení webmastři a hackeři určitě vědí, co všechno lze nepáchat nesprávně napsanou funkcí include(). V tomto článku se nebudu zabývat tím, jak tuto funkcni zneužít, ale jak ji správně zabezpečit.


Zkušení webmastři a hackeři určitě vědí, co všechno lze napáchat nesprávně napsanou funkcí include(). V tomto článku se nebudu zabývat tím, jak tuto funkcni zneužít, ale jak ji správně zabezpečit.

Předpokládám znalosti HTML, takže vytvořit jednuduchou šablonu by neměl být problém - vytvoříme si menu a vedle něj bude místo pro samostatný obsah - místo něj přijde tento skript:

<?php

//pokud jsme z URL dostali pozadavek na stranku,
//pokusime se ji zobrazit
if(!empty($_GET['page'])) {

  //osetrime retezec proti pripadnym pokusum o hacking
  $main_page = eregi_replace('[^0-9a-z\-\_]', '', $_GET['page']);

  //zobrazime pozadovanou stranku
  switch ($main_page) {
    default: include('includes/home.php'); break;
    case "home": include('includes/home.php'); break;
    case "articles": include('includes/articles.php'); break;
    case "downloads": include('includes/downloads.php'); break;
  }
}
//jinak zobrazime vychozi
else include('includes/home.php');

?>

Počítám s tím, že includované soubory opravdu existují, jinak určitě není problém si doplnit podmínku ;) Tento skript je prakticky neprůstřelný, možná pro některé je ošetřování řetězce zbytečné, ale určitě to přidává na jistotě...

by rytir_s_plnovousem

Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 0/0

1  2  3  4  5    
(známkování jako ve škole)