Cytat(Salur @ 23.08.2015, 17:57:02 )

Witam, chciałbym poprosić kogoś doświadczonego o pomoc w optymalizacji i zabezpieczeniu kodu wczytywania strony.
<?PHP
$includeDir = ".".DIRECTORY_SEPARATOR."pages".DIRECTORY_SEPARATOR;
$includeDefault = $includeDir."home.php";
{
$includePath = $includeDir.$includeFile;
{
include($includePath);
}
else
{
include($includeDefault);
}
}
else
{
include($includeDefault);
}
?>
Hm.
<?php
$inc='.'.DIRECTORY_SEPARATOR.'pages'.DIRECTORY_SEPARATOR;
$page=isset($_GET['s'][0
])?
$_GET['s']:''; switch ($page) // sprawdzenie czy masz taka strone..
{
case 'strona1': $inc.='strona1'; break;
case 'strona2': $inc.='strona2'; break;
default: $inc.='home';
}
Mini poprawka:
<?php
$page=isset($_GET['s'][0
])?
$_GET['s']:''; switch ($page) // sprawdzenie czy masz taka strone..
{
case 'strona1': $inc='strona1'; break;
case 'strona2': $inc='strona2'; break;
default: $inc='home';
}
include (basename(realpath('.'.DIRECTORY_SEPARATOR
.'pages'.DIRECTORY_SEPARATOR
.$inc.'.php'))); # dodałem dodatkowy nawias.
Poprawka co do nizego postu, bo cos nie tak hmm.
Nie testowalem ani pierwszego kodu ani drugiego, bo nie mam jak - jest to przerobiona wersja twojego.
Sprobuj czy tak dziala, dodalem nawias do poprawienia kolejnosci dzialan przy includowaniu. Bo moze cos zmienilo kolejnosc.
A co do pierwszego pytania,
Ten sposob polega na uniknieciu file_exists itd, tylko musisz z gory obstawic ze plik istnieje.
Np. strona1.php, strona2.php, contact.php, home.php czy co tam chcesz.. I dzieki temu masz tez zysk. Chyba ze masz cos jakos inaczej gdzie nie mozesz tak to wtedy doslownie bys musial tak jak miales niemal

Ps. Byc moze basename, realpath cos ci zmieniaja to wrazie czego sprobuj bez tych funkcji.