Seguridad para mis fotos

Desearía saber como hacer para que un usuario puede entrar en un directorio protegido por .htaccess, dando su clave y su nombre desde un form, y no desde el alert que sale al usar el .htaccess.
O dicho de otra forma. Tengo unas fotos que quiero que solo vean ciertas personas, y ademas quiero que si alguien pone kla dirección de la foto directamente en el navegador, no pueda acceder a dicha foto. Muchas gracias!

1 respuesta

Respuesta
1
Bien...
Por partes, para que no puedan acceder directamente a las fotos, debes tenerlas fuera del raíz del web. En linux, por ejemplo, seria:
Mi carpeta de fotos:
/home/ignacio/fotos/
Mi carpeta de la web:
/var/www/web/
Entonces, el archivo que logea al usuario y muestra las fotos en php seria:
<?
define("__BASE_IMG__","/home/ignacio/fotos/");
// Comprobamos que el usuario exista:
if ( $nombre != "" && $password != "" ) {
/* Aquí haz la comprobación de usuario y contraseña. Por ejemplo si quisieras que entrase ignacio y de clave servytec seria: */
if ( !strcmp("ignacio",$nombre) && !strcmp("servytec",$password) ) {
echo "El usuario existe,";
}else{
die("Nombre de usuario o contraseña incorrecto.");
}
}else{
die("Introduce un nombre de usuario y contraseña");
}
// Nombre de la imagen
$nombre_foto = "1.jpg";
// Mostramos la imagen
echo "<img src='".__BASE_IMG__.$nombre_foto."' border='0'>
?>
Supongamos que a este archivo, le llamamos showFoto.php.
Ahora hacemos el archivo de
login:
---
<form action='showFoto.php' method='GET'>
<input type='text' name='nombre' value=''>
<input type='password' name='password' value=''>
<input type='submit' value=' Login ! '>
</form>
Este archivo llámale index.php.
Listo.
Ok, perfecta solución. Al final lo había implementado de otra forma (entre otras cosas por que el servidor no es mio) Pero la base es más o menos la misma, pero usando el htaccess solo en un directorio en concreto donde guardo las fotos, que es como sacar el directorio fuera de la zona poublica, como tu dices. Gracias de todos modos. De todos modos muchas gracias por la buena solución y por la rapidez!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas