Depuis l'avènement de l'ASP (Pages de serveurs actifs), car il peut créer un système d'application solide facile à entretenir et qui n'a pas d'importance, la technologie ASP a été aimée par de plus en plus de programmeurs de réseau. Cependant, ASP est juste un type de compilation, une langue de script exécutée du côté du serveur.
Les applications SP ne sont pas copiées illégalement. Pour les administrateurs de haute autorité, vous pouvez facilement copier le programme ASP du serveur vers d'autres sites Web non autorisés. Cela entraîne des difficultés de commercialisation des applications ASP. Comment protéger efficacement les programmes ASP développés, sur la base de l'aléatoire généré par le numéro de série du disque, combiné avec le programme officiel de cryptage de scripts ASP Screanc.exe fourni par Microsoft a officiellement résolu ce problème.
Le numéro de série du disque, appelé ID de disque, est une information d'identification du disque générée lorsque le disque est formaté. Deux formats de la même machine pour générer au hasard un numéro de série à format fixe sont presque zéro. Passer de Windows9.x à MS-DOS et tapez la commande dir à retourner. Certains logiciels utilisés pendant une période de temps devront demander un nouveau numéro de série autorisé (en utilisant le permis) en ligne une fois la période d'utilisation disponible. Une partie considérable de ce numéro de séquence autorisé utilise un temps de liaison de numéro de séquence de disque statique. Après l'installation, le programme ne peut pas être utilisé même si le programme est copié illégalement dans l'environnement d'installation non initial.
Les pensées mentionnées ci-dessus sont faciles à réaliser dans le langage de programmation de VC, VB et Deliphi. VBScript, en tant que langage utilisateur fort et sécurisé, est limité par le système client. Par conséquent, cet article utilise VBScript et combine le système de fichiers de composant ASP Built -In pour réaliser les idées ci-dessus. Les procédures suivantes sont légèrement modifiées en fonction de la situation spécifique, qui peut être appliquée au système d'application ASP réel.
À titre d'exemple d'explication, cet article utilise le mécanisme de sécurité de la base de données d'accès. Pour faciliter l'élaboration, nous créons d'abord une base de données d'accès id.mdb (mot de passe "KXJ") et construisons une table DriveInfo interne.
Id (numéro automatique);
Serno (texte, 12, numéro de série disque (10 -in));
Wrimark (numéro, 1, écriture du logo).
illustrer
La valeur Wrimark est 0 signifie que l'utilisateur légal n'a pas installé le système et que la valeur est 1 représentant l'installation du système. Lorsque la valeur est 1 et que le numéro de série ne correspond pas au disque actuel, il est déterminé qu'il s'agisse d'utilisateurs illégaux.
Lors de l'initialisation, définissez d'abord un nouvel enregistrement, la valeur initiale de chaque champ est respectivement de 1 12345678,0.
Dans le même répertoire, par exemple, sous C: / Interpub / wwwroot, placez la page d'accueil default.asp, la page d'accueil de l'utilisateur légal Success.asp, la page de stockage d'installation de l'installation illégale FAIL.htm et id.mdb Numéro de série Bibliothèque de stockage.
L'opération d'écriture de chaque fichier ASP est la suivante:
1. Utilisez FrontPage (ou Notepad) pour créer un nouveau fichier ASP Default.asp et entrez le code du programme suivant:
<html>
<adal>
<Title> Exemple </TITAL>
</ Head>
<% Dim Conn, FS, F
Définir Conn = Server.CreateObject ("Adodb.Connection")
Conn.open "Driver = {Microsoft Access Driver (* .mdb)}; uid =; pwd = kxj; dbq =" & server.mappath ("id.mdb")
set fs = server.createObject ("scripting.filesystemObject")
testDrive = server.mappath ("/driveinfo.asp"))
'' Obtenez la formation actuelle du disque avec Mappath
TestDrive = Left (TestDrive, 3)
set f = fs.getDrive (testDrive)
'' Appelez la méthode GetDrive et donnez au lecteur une variable
Mysql = "select * from driveinfo où id = 1"
définir rscheck = server.createObject
rscheck.open mysql, Conn, 1,1
FSER = TRIM (F.SerialNumber)
'' Obtenez le numéro de série du disque actuel
Strserno = trim (rscheck.fields ("serno"))
Strmark = rscheck.fields ("" wrimark ")
Si strserno <> fser et strmark = 0 alors
'' S'il est installé pour la première fois, le logo d'écriture est 1
session ("pass") = true
'' Définir la session utilisateur et l'a placée comme une variable globale d'identification de document ASP
définir rsmain = server.createObject ("adodb.recordSet")
Mysql1 = "Update DriveInfo Serno =" & fser & ", wrimark = 1"
rsmain.open mysql1, Conn, 1,2
réponse.write ("<" <"<"
Réussi! Bienvenue pour accéder au site Web!
définir rsmain = rien
autre
Si strserno = fser alors
'' Si l'utilisateur légal entre à nouveau
session ("pass") = true
Response.Write ("<" << href = '' Success.asp ''> Vous êtes autorisé par le directeur du site Web, vous accueille pour accepter! <// a> ")
autre
'' Utilisateur de copie illégale
session ("pass") = false
Response.write ("<" <"<" <"<" <", 'fail.htm' '> Il est illégal de copier le document ASP du site Web. Vous ne êtes pas Rigt pour utiliser le programme.
terminer si
terminer si
réponse.write ("<br>")
Response.Write ("Numéro de série de volume dans Drive" et TestDrive)
Response.Write (F.SerialNumber)