Pour faire face aux fournisseurs de services spatiaux avares, tout le monde pensait autrefois à utiliser des tables de données liées pour stocker des bases de données plus volumineuses. Maintenant, laissez-moi vous présenter une autre méthode : utilisez le code d'un forum pour exécuter deux programmes de forum. Cela peut contourner les réglementations des services spatiaux qui ne permettent pas de configurer deux ensembles de programmes de forum dans un seul espace au motif que l'utilisation du processeur du serveur est trop élevée.
1. Préparez la base de données. La plupart des programmes de forum ASP grand public sur Internet (tels que Dongwang Forum 6.1) sont basés sur des bases de données Access. Tous les messages du forum, les informations utilisateur, les paramètres du forum, etc. sont stockés dans un fichier de base de données. Nous devons préparer deux fichiers de base de données du forum, puis laisser le programme du forum ouvrir différents fichiers de base de données selon différentes conditions.
Téléchargez le forum local sur le serveur, puis préparez deux bases de données nommées bbs1.mdb et bbs2.mdb (afin d'assurer la sécurité du forum, les noms de fichiers peuvent être modifiés pour être plus compliqués), et téléchargez-les sur le serveur / répertoire abc/bbs/data/. La base de données peut utiliser soit le forum existant, soit la base de données initiale du forum.
2. Conditions de détermination De nombreuses conditions sont utilisées pour déterminer l'entrée sur le forum, telles que l'adresse IP du visiteur, le système d'exploitation, l'heure d'accès au forum, etc. Ici, l'auteur utilise l'adresse URL soumise par le visiteur.
Un forum peut avoir deux adresses différentes, telles que « www.cpcw.com » et « WWW.CPCW.COM ». Bien que les deux URL pointent vers le site Web du journal informatique, du point de vue de VbScript, il s'agit de deux chaînes ASCII différentes car elles sont en majuscules. et les lettres minuscules sont reconnues comme des caractères différents. Par conséquent, deux adresses avec des majuscules et des minuscules différentes peuvent être utilisées comme conditions de jugement.
Request.ServerVariables est un objet intégré ASP permettant d'obtenir des variables d'environnement. La valeur du code Request.ServerVariables("SCRIPT_NAME") est le chemin de la page ASP actuellement exécutée. Par exemple, lors de l'accès à http://www.scat.com/aBc/test.asp (notez la casse !), la valeur de Request.ServerVariables("SCRIPT_NAME") est : "/aBc/test.asp".
Nous précisons que les adresses des deux forums sont http://www.scat.com/ABC/bbs et http://www.scat.com/abc/bbs . En fait, vous pouvez utiliser cette méthode pour ouvrir plus de deux forums, car du point de vue de la permutation et de la combinaison, il peut y avoir 2 puissance n de combinaisons majuscules et minuscules d'une URL de longueur n !
3. Modifiez le programme du forum. Pour faciliter la programmation, la plupart des programmes de forum ASP ont désormais le code pour ouvrir l'objet de base de données séparé et placé dans conn.asp. D'autres pages accèdent à la base de données en faisant référence à ce fichier. Cela facilite nos prochaines opérations.
Ouvrez conn.asp avec un éditeur de texte et recherchez le code suivant :
Dim Db
'Pour les utilisateurs gratuits, veuillez modifier l'adresse de la base de données locale pour la première fois...
DB="datadvbbs6.mdb"
Le programme définit la variable Db , l'adresse relative de la base de données est affectée à cette variable chaîne. La valeur de cette variable sera utilisée ultérieurement lorsque le programme ouvrira l'objet de base de données.
Nous modifions ces lignes par :
Dim Db
Dim Whichbbs
Whichbbs =Request.ServerVariables("SCRIPT_NAME ")
if left(Whichbbs, 4)="/ABC" then 'Utilisez la fonction left pour intercepter la chaîne de longueur requise pour la vérification
Db= " /data/bbs1.mdb"
else
Db="/data/bbs2.mdb"
end if
La signification de ce code est d'attribuer l'adresse soumise par le visiteur à la variable Whichbbs. Étant donné que la seconde moitié de l'adresse URL change lorsqu'un visiteur est actif sur le forum, seuls les 4 premiers chiffres de Whichbbs sont utilisés pour la comparaison avec la chaîne "/ABC". Si les deux chaînes sont identiques, Db reçoit la valeur "/data/bbs1.mdb", sinon Db reçoit la valeur "/data/bbs2.mdb". Ensuite, la base de données correspondant à Db sera ouverte. Si l'adresse soumise par le visiteur est http://asp2.6to23.com/ABC , le système de forum ouvre la base de données de bbs1.mdb et permet au visiteur d'accéder au forum dans bbs1.mdb ; sinon, il ouvre bbs2.mdb ; et entre bbs2.mdb dans le forum.
De cette façon, vous pouvez configurer plus d'un forum dans un seul espace et l'utilisation des ressources du serveur est bien inférieure à la configuration séparée de deux systèmes de forum indépendants.
Cette méthode peut également être étendue :
1. Appliquer à d'autres programmes ASP impliquant des opérations de base de données, tels que les systèmes de nouvelles, les systèmes de téléchargement, les forums de discussion, les compteurs, etc.
2. Utilisez l'adresse IP du visiteur comme condition de jugement (Request.ServerVariables("REMOTE_ADDR")) pour créer un filtrage IP déguisé et plus secret, afin que les personnes indésirables soient inconsciemment isolées du vrai forum.
3. Utilisez d'autres informations comme critères de jugement en fonction de vos propres besoins pour créer votre propre forum personnalisé et coloré.