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

Lo más fresco

  1. LPAD en SQL Server Nuevo
  2. Eliminar todos los objetos en SQL Server Modificado
  3. Dominio principal Nuevo
  4. Eliminar formato en Excel Nuevo

Sugerencias del chef

Lo más visitado

  1. Dar formato a un número
  2. Campo autonumérico
  3. Fecha y hora
  4. Cookies
  5. Convertir IP entre cadena y número

¿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 11 de marzo de 2010 (20:51:29 +0100) 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