borrame.com - Colección particular de recortes de código y documentación para programación web

Lo más fresco

  1. Cadena aleatoria en PHP (¡ahora también multi-byte!) Modificado
  2. Cookies en JavaScript Modificado
  3. Reiniciar Apache con cuidado (graceful restart) Modificado

Sugerencias del chef

Lo más visitado

  1. Dar formato a un número
  2. Fecha y hora
  3. Cookies
  4. Rotar logs en Windows
  5. Reiniciar Apache con cuidado (graceful restart)

¿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 jueves 29 de julio de 2010 (21:25:05 +0200) desde http://borrame.com/recortes/php/es-ruta-valida.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.

borrame.com es el sitio anteriormente conocido como bits.demogracia.com (no confundir con Demogracia, que sólo pasaba por ahí).

© 2005-2010 by Álvaro G. Vicario (alvaro.es) • Burgos (España) • borrame.com