Desde el advenimiento de ASP (páginas de servidor activo), debido a que puede crear un sistema de aplicación sólido que sea fácil de mantener y no importa la plataforma, la tecnología ASP ha sido amada por más y más programadores de redes. Sin embargo, ASP es solo un tipo de compilación, un lenguaje de script que se ejecuta en el lado del servidor.
Las aplicaciones SP no se copian ilegalmente. Para los administradores de alta autoridad, puede copiar fácilmente el programa ASP del servidor a otros sitios web no autorizados. Esto trae algunas dificultades en la comercialización de aplicaciones ASP. Cómo proteger de manera efectiva los programas ASP desarrollados, basados en la aleatoriedad generada por el número de serie del disco, combinado con el programa oficial de cifrado de script ASP Screanc.exe proporcionado por Microsoft resolvió oficialmente este problema.
El número de serie de disco, denominado ID de disco, es una información de identificación de disco generada cuando el disco está formateado. Dos formatos de la misma máquina para generar un número de serie de formato fijo son casi cero. Cambie de Windows9.x a MS-DOS y escriba el comando Dir para devolver. Se requerirá que algún software utilizado durante un período de tiempo solicite un nuevo número de serie autorizado (usando permiso) en línea después de que esté disponible el período de uso. Una parte considerable de este número de secuencia autorizado utiliza un tiempo de unión de la secuencia de disco estático. Después de la instalación, el programa no se puede utilizar incluso si el programa se copia ilegalmente en el entorno de instalación no inicial.
Los pensamientos mencionados anteriormente son fáciles de lograr en el lenguaje de programación de VC, VB y Deliphi. VBScript, como un lenguaje de usuario fuerte y seguro, está limitado por el sistema del cliente. Por lo tanto, este artículo utiliza VBScript y combina el sistema de archivos de componentes ASP construido para lograr las ideas anteriores. Los siguientes procedimientos se modifican ligeramente de acuerdo con la situación específica, que se puede aplicar al sistema de aplicación ASP real.
Como ejemplo de explicación, este artículo utiliza el mecanismo de seguridad de la base de datos de acceso. Para facilitar la elaboración, primero construimos una base de datos de acceso ID.MDB (contraseña "KXJ"), y creamos una tabla de DriveInfo interna es la siguiente:
Id (número automático);
SERNO (texto, 12, número de serie de disco (10 -in));
WRIMARK (número, 1, logotipo de escritura).
ilustrar
El valor de Wrimark es 0 significa que el usuario legal no ha instalado el sistema, y el valor es 1 que representa la instalación del sistema. Cuando el valor es 1 y el número de serie no coincide con el disco actual, se determina que son usuarios ilegales de copia.
Cuando la inicialización, primero defina un nuevo registro, el valor inicial de cada campo es 1.12345678,0, respectivamente.
En el mismo directorio, por ejemplo, en C:/Interpub/wwwroot, coloque la página de inicio predeterminada.asp, la página de inicio del usuario legal éxito.asp, instalación ilegal Página de solicitud del usuario Fail.htm e ID.MDB Biblioteca de almacenamiento de número de serie.
La operación de escritura de cada archivo ASP es el siguiente:
1. Use FrontPage (o Bloc de notas) para crear un nuevo archivo ASP predeterminado.asp e ingrese el siguiente código de programa:
<html>
<Evista>
<title> muestra </title>
</ablo>
<% Dim Conn, FS, F
Establecer conn = server.createObject ("ADODB.Connection")
conn.open "controlador = {Microsoft Access Driver (*.mdb)}; uid =; pwd = kxj; dbq =" & server.mappath ("id.mdb")
establecer fs = server.createObject ("scripting.filesystemObject")
testdrive = server.mappath ("/driveInfo.asp"))
'' Obtenga la formación de disco actual con Mappath
testdrive = izquierda (testdrive, 3)
Establecer F = Fs.GetDrive (Testdrive)
'' Llame al método getDrive y le dé a la unidad una variable
Mysql = "select * de DriveInfo Where id = 1"
establecer rscheck = server.createObject
rscheck.open mysql, Conn, 1,1
FSer = TRIM (F.SerialNumber)
'' Obtenga el número de serie de disco actual
Strserno = trim (rscheck.fields ("serno"))
Strmark = rscheck.fields ("" wrimark ")
Si strserno <> fser y strmark = 0 entonces
'' Si está instalado por primera vez, el logotipo de escritura es 1
sesión ("pase") = True
'' Defina la sesión de usuario y la colocó como una variable de identificación de documento ASP global
establecer rmain = server.createObject ("ADODB.Recordset")
Mysql1 = "Update DriveInfo SERNO =" & fser & ", wImark = 1"
rmain.open mysql1, Conn, 1,2
Response.Write ("<" <"<"
¡Exitente!
establecer rmain = nada
demás
Si strserno = fser entonces
'' Si el usuario legal vuelve a entrar
sesión ("pase") = True
Respuesta.Write ("<" << href = '' success.asp ''> Está autorizado por el gerente del sitio web, bienvenido a aceptar! <// a> ")
demás
'' Usuario de copia ilegal
sesión ("pasar") = falso
Response.Write ("<" <"<" <"<" <", 'fail.htm' '> Es ilegal copiar el documento ASP del sitio web. No estás rigrt para usar el programa.
final si
final si
Response.write ("<br>")
Response.Write ("Número de serie de volumen en la unidad" y Testdrive)
Response.Write (F.SerialNumber)