Las idea de este artículo es conocer Conocer mediante cookies si el archivo se está intentando descargar desde un servidor ajeno al de nuestra web para previnir la descarga.
Existen servidores de hosting como Geocities, Fortunecity, entre otros, que no permiten la descarga externa de archivos. Es decir que si un usuario intenta descargar un archivo hospedado en Geocities cuyo enlace se encuentra en i(España), por ejemplo, no podrá hacerlo.
Pero ¿Qué sucede si nuestro servidor no restringe esta posibilidad? Y sí. Obvio. Podríamos sugerirle que lo hiciera. Pero mientras tanto ... ¿Qué podemos hacer?
Existe una solución aproximada si trabajamos con ASP, cookies e incluso puede mejorarse si a esto le agregamos el uso de JavaScript.
Hay que tener en cuenta, que esta "solución aproximada" no es del todo segura. Si nos encontramos con un WebRobaMaster medianamente astuto (y sino lo es, con ganas de trabajar demasiado), podría llegar a "burlar" dicha seguridad (aunque no es del todo frecuente).
El secreto está en crear una cookie en el ordenador del usuario y leerla para la descarga del archivo.
Vamos a explicar esto un poco mejor y con ejemplos.
Lo primero que debemos hacer, es crear una base de datos con nuestros archivos. Además que esto nos ayuda a tener un sitio más profesional y de fácil actualización, nos ayudará para proteger nuestros archivos.
Esta base de datos, deberá contener la url exacta de cada archivo.
Veamos un ejemplo de una posible base de datos:
En este ejemplo, tenemos una tabla a la que llamamos kar que incluirá la base de datos de todos los archivos *.kar (karaoke) para descargar en nuestro sitio.
Los campos:
id > campo autonumérico: genera u número único para cada archivo
titulo > será el título de la canción
artista > el artista o compositor de la obra
url > la ruta completa del archivo
Imaginamos entonces que esta tabla tiene X cantidad de registros. Supongamos que dos de ellos contengan los siguientes datos:
id 12
titulo 50 martillazos
artista Claudia Puyó
url KAR74/c_puyo/50_martillazos.kar
id 13
titulo Desert Song
artista Def Leppard
url KAR74/def_leppard/desert_song.kar
Pues bien. Lo primero que debemos hacer es crear una página ASP en la que se muestre el listado de los archivos. Hasta aquí, todo debe hacerse normalmente. Lo que nos interesa a nosotros es la URL que indicaremos para la descarga.
Supongamos que la página donde se muestra el listado de archivos se llama muestra_archivos.asp
Usuarios que han visto este tema también han visto...
- Los objetos y las funciones en las páginas ASP
- Lectura y escritura de archivos en ASP
- Vaciar un Array con ASP
- Cinco pasos para iniciarse con ASP.NET
- Conservar saltos de línea con ASP
- Versión imprimible de este documento
- Enviar por e-mail este documento