Um mit geizigen Weltraumdienstleistern fertig zu werden, dachte jeder daran, verknüpfte Datentabellen zum Speichern größerer Datenbanken zu verwenden. Lassen Sie mich Ihnen nun eine andere Methode vorstellen: Verwenden Sie den Code eines Forums, um zwei Forumprogramme auszuführen. Dadurch können die Space-Service-Bestimmungen umgangen werden, die die Einrichtung von zwei Sätzen von Forenprogrammen in einem Space mit der Begründung nicht zulassen, dass die Server-CPU-Auslastung zu hoch ist.
1. Bereiten Sie die Datenbank vor. Die meisten gängigen ASP-Forumsprogramme im Internet (z. B. Dongwang Forum 6.1) basieren auf Access-Datenbanken. Alle Forumbeiträge, Benutzerinformationen, Forumeinstellungen usw. werden in einer Datenbankdatei gespeichert. Wir müssen zwei Forum-Datenbankdateien vorbereiten und dann das Forum-Programm entsprechend unterschiedlichen Bedingungen unterschiedliche Datenbankdateien öffnen lassen.
Laden Sie das lokale Forum auf den Server hoch, bereiten Sie dann zwei Datenbanken mit den Namen bbs1.mdb und bbs2.mdb vor (um die Sicherheit des Forums zu gewährleisten, können die Dateinamen geändert werden, um sie komplizierter zu gestalten) und laden Sie sie auf den / des Servers hoch abc/bbs/data/-Verzeichnis. Die Datenbank kann entweder das vorhandene Forum oder die ursprüngliche Datenbank des Forums verwenden.
2. Bestimmungsbedingungen Es gibt viele Bedingungen, anhand derer der Zugang zum Forum bestimmt wird, wie z. B. die IP-Adresse des Besuchers, das Betriebssystem, die Zeit des Zugriffs auf das Forum usw. Hierbei verwendet der Autor die vom Besucher übermittelte URL-Adresse.
Ein Forum kann zwei unterschiedliche Adressen haben, beispielsweise „www.cpcw.com“ und „WWW.CPCW.COM“. Obwohl die beiden URLs auf die Website der Computerzeitung verweisen, handelt es sich in der Ansicht von VbScript um zwei unterschiedliche ASCII-Strings, da sie in Großbuchstaben geschrieben sind und Kleinbuchstaben werden als unterschiedliche Zeichen erkannt. Daher können zwei Adressen mit unterschiedlicher Groß- und Kleinschreibung als Beurteilungsbedingungen verwendet werden.
Request.ServerVariables ist ein in ASP integriertes Objekt zum Abrufen von Umgebungsvariablen. Der Wert des Codes Request.ServerVariables("SCRIPT_NAME") ist der Pfad der aktuell ausgeführten ASP-Seite. Wenn Sie beispielsweise auf http://www.scat.com/aBc/test.asp zugreifen (beachten Sie die Groß-/Kleinschreibung!), lautet der Wert von Request.ServerVariables("SCRIPT_NAME"): "/aBc/test.asp".
Wir legen fest, dass die Adressen der beiden Foren http://www.scat.com/ABC/bbs und http://www.scat.com/abc/bbs lauten. Tatsächlich können Sie mit dieser Methode mehr als zwei Foren öffnen, da es aus Sicht der Permutation und Kombination 2 hoch n Groß- und Kleinbuchstabenkombinationen einer URL der Länge n geben kann!
3. Ändern Sie das Forumprogramm, um die Programmierung zu erleichtern. Bei den meisten ASP-Forumsprogrammen ist der Code zum Öffnen des Datenbankobjekts jetzt getrennt und in conn.asp abgelegt. Andere Seiten greifen auf die Datenbank zu, indem sie auf diese Datei verweisen. Dies bietet Komfort für unsere nächsten Operationen.
Öffnen Sie conn.asp mit einem Texteditor und finden Sie den folgenden Code:
Dim Db
'Für kostenlose Benutzer ändern Sie bitte zum ersten Mal die lokale Datenbankadresse ...
DB="datadvbbs6.mdb"
Das Programm definiert die Variable Db , wird dieser Stringvariablen die relative Adresse der Datenbank zugewiesen. Der Wert dieser Variablen wird später verwendet, wenn das Programm das Datenbankobjekt öffnet.
Wir ändern diese Zeilen in:
Dim Db
Dim Whichbbs
Whichbbs =Request.ServerVariables("SCRIPT_NAME")
if left(Whichbbs, 4)="/ABC" then 'Verwenden Sie die Funktion left, um die Zeichenfolge mit der erforderlichen Länge zur Überprüfung abzufangen.
Db= " /data/bbs1.mdb"
else
Db="/data/bbs2.mdb"
end if
Die Bedeutung dieses Codes besteht darin, die vom Besucher übermittelte Adresse der Whichbbs-Variablen zuzuweisen. Da sich die zweite Hälfte der URL-Adresse ändert, wenn ein Besucher im Forum aktiv ist, werden nur die ersten 4 Ziffern von Whichbbs zum Vergleich mit der Zeichenfolge „/ABC“ verwendet. Wenn die beiden Zeichenfolgen gleich sind, wird Db der Wert „/data/bbs1.mdb“ zugewiesen, andernfalls wird Db der Wert „/data/bbs2.mdb“ zugewiesen. Dann wird die Datenbank entsprechend Db geöffnet. Wenn die vom Besucher angegebene Adresse http://asp2.6to23.com/ABC lautet, öffnet das Forumsystem die Datenbank von bbs1.mdb und ermöglicht dem Besucher den Zugang zum Forum in bbs1.mdb; andernfalls öffnet es bbs2.mdb und trägt bbs2.mdb im Forum ein.
Auf diese Weise können Sie mehr als ein Forum in einem Raum einrichten, und die Serverressourcennutzung ist viel geringer als bei der separaten Einrichtung zweier unabhängiger Forensysteme.
Diese Methode kann auch erweitert werden:
1. Auf andere ASP-Programme anwenden, die Datenbankoperationen umfassen, z. B. Nachrichtensysteme, Download-Systeme, Message Boards, Zähler usw.
2. Verwenden Sie die IP-Adresse des Besuchers als Beurteilungsbedingung (Request.ServerVariables("REMOTE_ADDR"), um eine verschleierte und verdecktere IP-Filterung zu erstellen, sodass unerwünschte Personen unwissentlich vom echten Forum isoliert werden.
3. Nutzen Sie andere Informationen als Beurteilungskriterien entsprechend Ihren eigenen Bedürfnissen, um Ihr eigenes personalisiertes und farbenfrohes Forum zu erstellen.