Recomendado: Introducción a los conceptos básicos de las humanidades ASP Desarrollo ¿Qué es ASP? ASP es la abreviatura de las páginas del servidor activo, que es la página del servidor activo. Los archivos ASP tienen .asp como extensión. Lo que es especial es que todos los lenguajes de marcado que se pueden usar en archivos HTML se pueden usar en archivos ASP y archivos ASP
Si conocemos la ruta real de un archivo estático como: http://www.xx.com/download/51windows.pdf, si el servidor no tiene restricciones especiales, ¡podemos descargarlo sin esfuerzo! Cuando el sitio web proporciona descarga de 51Windows.pdf, ¿cómo puede el descargador no obtener su camino real? Este artículo presentará cómo usar ASP para ocultar la ruta de descarga real de un archivo.
Al administrar los archivos del sitio web, podemos colocar archivos con la misma extensión en el mismo directorio y dar un nombre especial, por ejemplo, colocar el directorio de archivos PDF como the_pdf_file_s, y guardar el siguiente código como down.asp. Su ruta en línea es http://www.xx.com/down.asp. Podemos usar http://www.xx.com/down.asp?filename=51windows.pdf para descargar este archivo, ¡y el descargador no puede ver la ruta de descarga real de este archivo! En Down.asp, también podemos establecer si el archivo descargado debe iniciarse y determinar si la página fuente descargada es un sitio web externo, para evitar que el archivo sea robado.
| El siguiente es el contenido citado: Código de muestra: <% From_url = cstr (request.serverVariables (http_referer)) Serv_url = cstr (request.serverVariables (server_name)) Si mid (from_url, 8, len (serv_url)) <> Serv_url entonces Respuesta. ¡Escribe un enlace ilegal! 'Prevenir el robo de enlaces respuesta. final si if request.cookies (loged) = entonces Response.Redirect /Login.asp '¡Requerido para iniciar sesión! final si Function getFileName (longName) '/carpeta1/carpetas2/file.asp => file.asp Mientras que Instr (LongName,/) longName = Right (LongName, Len (LongName) -1) encaminarse a GetFileName = longName Función final Flujo oscuro Contenido oscuro Nombre de archivo Dim Dim trueFilename Dim FileExt Const adTypebinary = 1 FileName = request.QueryString (nombre de archivo) Si FileName = entonces Respuesta Respuesta. Final si Fileext = mid (nombre de archivo, instrrev (nombre de archivo ,.) 1) Seleccione Case UCase (FileExt) Case ASP, ASA, ASPX, ASAX, MDB Respuesta. ¡Escriba la operación ilegal! Respuesta. Final seleccionar Respuesta. Si lcase (derecho (nombre de archivo, 3)) = gif o lcase (derecho (nombre de archivo, 3)) = jpg o lcase (derecho (nombre de archivo, 3)) = png entonces Response.ContentType = Image/* 'El cuadro de diálogo Descargar no aparece para archivos de imagen demás Response.ContentType = Application/MS-Download final si Respuesta. AddHeader Contenido Disposición, Adjunto; 200497141230.htm = & getFileName (request.queryString (nombre de archivo)) Establecer stream = server.createObject (ADODB.Stream) Stream.type = adtypeBinary Transmisión. Abre Si lcase (derecho (nombre de archivo, 3)) = PDF entonces 'Establezca el directorio de archivos de tipo PDF TrueFileName = /the_pdf_file_s /& filename final si if lcase (derecho (nombre de archivo, 3)) = doc entonces 'Establezca el directorio de archivos de tipo DOC TrueFileName = /my_d_o_c_file /& filename final si Si lcase (derecho (nombre de archivo, 3)) = gif o lcase (derecho (nombre de archivo, 3)) = jpg o lcase (derecho (nombre de archivo, 3)) = png entonces TrueFileName = /all_images _ /& filename 'Establecer el directorio de archivos de imagen final si Stream.loadFromFile Server.Mappath (TrueFileName) Mientras que no se transmite.EOS Response.BinaryWrite stream.read (1024 * 64) Encaminarse a Transmisión. Clara Establecer stream = nada Respuesta. Flush Respuesta. %> |
Este artículo se recopila y compila de Internet. Si es el autor original, escriba para cambiar la publicación del autor y fuente # vip.qq.com (cambiar # a @)
Compartir: Consejos: Uso de GetString para aumentar la velocidad de ASP Muchos programadores de ASP han tenido la experiencia de ejecutar consultas de bases de datos y luego mostrar los resultados de la consulta en las tablas HTML. Por lo general, hacemos esto: el siguiente es el contenido citado: