Hola,
volevo un consiglio, magari è una cosa stupida, ma sono abbastanza attento a questo tipo di problematica.
Premetto che questo check lo sto leggermente modificando rispetto a quello che uso nel mio framework ove il tutto dipende dal database mentre qui il file da includere deriva da un parametro in GET.
Si, lo so, è pericoloso, ma sto scribacchiando il mio pannello di controllo per l'hosting sul mio dedicato e non mi va di buttarci su tutto il mio framework con tutto quanto, richiede abbastanza tempo per lo sviluppo.
Come si può vedere, qui l'azione, ovvero il file da includere, deriva da $_GET['action']. Il check sull'esistenza dei file e sulla posizione del file lo eseguo tramite realpath.
Secondo voi è abbastanza sicuro?
Qui c'è il codice:
codice:
if (isset($_GET['action']) === false)
{
$action = 'Dashboard';
}
else
{
$action = $_GET['action'];
}
$pathCheck = realpath('./Actions/' . $action . '.action.php');
if ($pathCheck === false || dirname($pathCheck) !== realpath('./Actions'))
{
echo "errore!";
}