Bir kullanıcı-tanımlı yolu PHP güvenli olduğundan emin

1 Cevap php

PHP basit bir dizin listesi komut uygulama duyuyorum.

Ben geçti yolu dizin kolları açma ve echo ister istemez sonuçları ing önce güvenli olduğundan emin olmak istiyorum.

$f = $_GET["f"];
if(! $f) {
    $f = "/";
}
// make sure $f is safe
$farr = explode("/",$f);
$unsafe = false;
foreach($farr as $farre) {
    // protect against directory traversal
    if(strpos($farre,"..") != false) {
        $unsafe = true;
        break;
    }
    if(end($farr) != $farre) {
        // make sure no dots are present (except after the last slash in the file path)
        if(strpos($farre,".") != false) {
            $unsafe = true;
            break;
        }
    }
}

Bu kullanıcı tarafından gönderilen bir yol güvenli, ya da ben saldırıya karşı korumalı için yapmanız gereken başka şeyler vardır emin olmak için yeterli mi?