Demogracia Bits

• • • Colección privada de recortes de código y documentación para programación web

[Sí, aún estamos en pruebas; ¿por?]

¿Es ruta válida?

He aquí una pequeña funcioncilla para asegurarse de que un directorio o archivo están dentro de un directorio definido por nosotros y que no nos la intentan colar añadiendo ../../..'s a mansalva.

<?

/*
 * Verifica si $ruta existe y está dentro de $directorio_base (que también debe existir)
 */

function es_ruta_valida($ruta, $directorio_base){ // v2008-01-21
    $ruta = realpath($ruta);
    $directorio_base = realpath($directorio_base);

    if($ruta===FALSE || $directorio_base===FALSE){
        return FALSE;
    }else{
        return strpos($ruta, $directorio_base)===0;
    }
}

?>

Efectivamente, devuelve TRUE o FALSE y tampoco hay mucho más que contar.

Esta página ha sido impresa el domingo 6 de julio de 2008 (22:49:38 +0200) desde http://bits.demogracia.com/recortes/php/es-ruta-valida.html, contenía HTML válido con CSS fresquito la última vez que lo miré y no debería tener flatas de ortografía.

Demogracia Bits no tiene absolutamente ninguna relación con Demogracia, salvo el nombre, el dominio punto com y que el autor es el mismo.

© 2005-2008 by Álvaro G. Vicario (alvaro.es) ¤ Burgos (España) ¤ http://bits.demogracia.com/