php - revisar - user agents bloqueados waf
Restringir el acceso a archivos a usuarios de php autorizados (3)
Bueno, podrías hacer apache parse .jpg file para cierta carpeta agregando lo siguiente a tu .htaccess
AddHandler php5-cgi .jpg
entonces podrías establecer un archivo de php para analizar la solicitud de la forma en que el caos te recomendaba y hacer una validación determinada, luego simplemente devuelve los encabezados jpeg junto con la imagen correcta que deseas mostrar
aquí hay un ejemplo
<?php
if($validUser)
{
header("Cache-control: No-cache");
header("Pragma: No-cache");
header("Content-Type: image/jpeg");
//correct picture address
$img = imagecreatefromjpeg("2326_b_lil.jpg");
imagejpeg($img);
}
else
{
//code for error image
}
?>
por favor, avíseme si quiere un ejemplo más extenso
Heredé una aplicación con un agujero de seguridad evidente.
Tiene seguridad basada en sesiones, pero las cargas de archivos (que son específicas del usuario) no están aseguradas de ninguna manera y se almacenan en el árbol de archivos público.
Los nombres de archivo no siguen ninguna convención como tal, por lo que es difícil de adivinar, pero los datos son confidenciales y, por lo tanto, debo implementar una medida de seguridad para evitar el acceso no autorizado a los archivos.
Mover la ubicación de los archivos no es realmente una opción, por lo que estoy buscando una solución de htaccess para reenviar solicitudes a un script de gestor de php.
¿Alguien tiene experiencia en la implementación de este tipo de cosas o alguna buena solución alternativa? Ejemplos específicos de la sintaxis de .htaccess son muy apreciados, ya que estoy luchando en esta área.
Creo que puede necesitar escribir un script que sirva las imágenes, luego use htaccess para restringir completamente el acceso a las imágenes reales desde un navegador.
El script puede tomar la ruta web a la imagen, decidir si el usuario tiene acceso, luego usar algo como fpassthru para enviar una imagen real al navegador.
Sin embargo, todas las referencias a las imágenes deberían modificarse para hacer referencia al script de publicación.
Por lo tanto, en lugar de acceder a las imágenes con /images/images/325423453245.jpg, sería /image.php?images/123/5423453245.jpg
O algo similar a eso.
Realmente no entiendo por qué moverlos no es una opción, ya que enviar las solicitudes a un controlador significa que ya no importa dónde están almacenados. Pero tú eres el hombre en la escena.
.htaccess se ve así:
RewriteEngine on
RewriteRule path/to/where/these/files/live/(.*) /handlerscript.php/$1
A continuación, recoge la ruta de archivo restante y el nombre de $_SERVER[''PATH_INFO'']
.