Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/12/2004, 00:46
manuel_mad
 
Fecha de Ingreso: diciembre-2004
Mensajes: 2
Antigüedad: 19 años, 4 meses
Puntos: 0
Problemas en SEGURIDAD

En primer lugar un saludo a todos y agradecimiento.

Describo brevemente el problema que tengo para proteger archivos de audio y video en un directorio. El directorio es accesible por la web

Tengo una web alojada en España que vende audio y video muy especificos. Hay cesta de la compra, pago por servidor seguro etc.. y una vez que el cliente ha comprado se le envia a una pagina desde donde descargarlos.

Al pinchar en el link para DESCARGAR, hago una consulta comprobando el pago y una serie de variables en una base de datos y si todo es ok, le redirecciono a otra pagina (descargar.php) colocada en un servidor alojado en america (los gigas son alli mas baratos).

Es decir, al pinchar en el link, va una pagina llamada descargar.php. Esa pagina comprueba tambien otra serie de datos y mediante unos header (modifico content xtype, etc ... ) y los fopen y fgets comienza la descarga del archivo hacia el cliente.

La descarga se realiza desde una direccion del tipo http://62.135.25.240/archivos/video/ESTE_VIDEO.mpg, es decir, en el directorio /video/ estan todos los ficheros que se podrian descargar (la pagina descargar.php no esta en el mismo directorio que los archivos, sino en uno superior aunque no es importante). Lo que si importa es que hay un directorio donde solo hay mp3, mpg, avi, etc ..

Esa direccion desde la que se descarga el fichero puede llegarse a ver por el cliente (si es medianamente avispado) y despues podria teclear directamente la direccion en el navegador y descargarse cualquier otro video si conociera su nombre (por ej, luego escribe http://62.135.25.240/archivos/video/OTRO_VIDEO.mpg y se lo descargaria sin haberlo pagado).

Problemas:

- no puedo proteger el directorio donde estan los archivos a descargar pues entonces apareceria la ventanita para meter usuario y contraseña, lo cual jorobaria al cliente. Y si lo doy esos datos los podria usar igualmente para descargarse otros videos.

- no puedo usar hotlink con el .htaccess en el directorio de los archivos pues windows media player no soporta el HTTP_REFERER, y aunque he intentado permitir SOLO a descargar.php acceso al directorio de los archivos, no funciona (he probado 7 formas distintas segun se indica en http://www.htmlbasix.com/disablehotlinking.shtml y o se descarga siempre - es decir tanto a traves de descargar.php como escribiendo directamente una url de un video - o no se descarga nunca).

Es decir, lo que busco es la forma de proteger el directorio de los archivos para que cuando se escriba directamente la direccion de un archivo en el navegador se deniege el acceso PERO que a traves de un fichero llave(descargar.php) externo a ese directorio se puede acceder y descargar lo que el cleinte pago y ha solicitado.

Es posible leer el fichero y poderlo descargar a pesar de proteger el directorio o hay alguna otra "formula".

Trate de sacar el directorio de los archivos fuera de la web pero el $DOCUMENT_ROOT es /usr/local/apache/htdocs, y deduzco que hay algun alias pues si ejecuto un fichero en raiz el SCRIPT_FILENAME es /home/nombre/public_html/index.php que equivale al http://65.58.125.58/~nombre/index.php. Y no encuentro la relacion.

Disculpas por lo largo de la consulta y agradecimientos por adelantado.
Un saludo a tod@s.