Dieser Abschnitt beschreibt die Komponenten, die im Ordner Toolkit\ISP\Server des IEAK-Toolkits enthalten sind. Wenn Sie nicht mit Microsoft Internet Information Server (IIS) arbeiten oder eine andere Ordnerstruktur wünschen, lesen Sie die folgenden Anmerkungen.
Der Client ist für DHCP konfiguriert. Sie müssen den Internetanmeldeserver konfigurieren, um dem Client eine DHCP-IP-Adresse zur Verfügung zu stellen, wenn der Client eine Verbindung zum Server herstellt. Da der Anmeldevorgang relativ kurz ist, kann die Gültigkeitsdauer der IP-Adresse sehr kurz sein und möglicherweise nur einige Minuten betragen.
Da die Anmeldeverarbeitung über eine Punkt-zu-Punkt-DFÜ-Verbindung verwendet werden soll, muss es sich bei den dem DHCP-Server zugewiesenen IP-Adressen nicht um formal zugewiesene IP-Adressen handeln. Es liegt in Ihrem Ermessen, ob es sich bei den DHCP-IP-Adressen um gültige oder um willkürliche Adressen handelt.
Damit der Client die .ins-Datei automatisch verarbeitet, müssen Sie einen MIME-Typ für die .ins-Datei beim Anmeldeserver registrieren. Dieser MIME-Typ wurde als "application/x-Internet-signup" bestimmt. Wenn der Client eine .ins-Datei anfordert, antwortet der Anmeldeserver mit diesem MIME-Typ, der die entsprechende Installationsanwendung auf der Clientseite startet.
MIME-Typen müssen Sie in der Registrierung manuell bearbeiten. Um der Registrierung den MIME-Typ der .ins-Datei hinzuzufügen, tragen Sie mit Hilfe von Regedt32.exe die folgenden Informationen ein:
Fügen Sie unter dem Schlüssel
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\MimeMap
den folgenden Wert hinzu:
application/x-internet-signup,ins,,5
Mit diesem Wert ist keine Zeichenfolge verknüpft. Weitere Informationen zum Einrichten der MIME-Typen finden Sie außerdem in der IIS-Hilfe.
Anmerkung
Diese Version des Beispielanmeldeservers wurde mit IIS getestet. Die folgenden Themen behandeln Installationsanmerkungen, die ab der vorliegenden Version für IIS spezifisch sind.
Der CGI-Quellcode ist in Standard C geschrieben und verwendet eine einfache Datei im Windows-Initialisierungsformat als Datenbank. Sie sollten umgehend zwei Abschnitte der Quelldatei bearbeiten:
Diese Abschnitte werden in den Kommentaren des Quellcodes als "ISP Customization Section" gekennzeichnet.
Die Elemente der Datenschlüsselworttabelle werden auf zwei Arten verwendet:
Es werden zwei Gruppen von Funktionen der Datenbankschnittstelle unterschieden:
Die Transaktionsstartfunktion erstellt eine eindeutige Sitzungszugriffsnummer, die einen bestimmten Anmeldeclient während des restlichen Anmeldevorgangs identifiziert. Wie bereits erwähnt, kann es sich bei dieser Sitzungszugriffsnummer um eine einfache fortlaufende Nummer handeln (wie im CGI-Beispielcode) oder um einen Transaktionsbezeichner, der von Ihrem Datenbanksystem generiert wird. Der genaue Wert der Sitzungszugriffsnummer ist nicht wichtig, solange sie eindeutig ist und Sie sie verwenden können, um die Anmeldetransaktion zu verfolgen.
Mit Hilfe der Transaktionsendefunktion können Sie die abschließende Transaktionsbearbeitung Ihrer eigenen Datenbank behandeln. Im CGI-Beispielcode wird ein Statuskennzeichen gesetzt, um anzugeben, dass die Transaktion akzeptiert wurde.
Die Transaktionsabbruchfunktion dient dem gleichen Zweck wie die Transaktionsendefunktion, wobei Sie jedoch die entsprechende Aktion zur Behandlung des Anmeldeabbruchs ausführen.
Zusätzlich zu den vorherigen Änderungen des CGI-Codes möchten Sie möglicherweise die Daten für jede CGI-Übermittlung prüfen, oder Sie möchten bis zur Beendigung der Transaktion warten, um die vom Anmeldeclient eingegebenen Daten zu prüfen. Der CGI-Beispielcode zeigt das Verfahren zum Überprüfen jeder CGI-Übertragung. Wenn die Datenüberprüfung in der Funktion FormtoDB fehlschlägt, wird die aktuelle HTML-Vorlage wiederhergestellt und nochmals an den HTTP-Client gesendet. Sie können diese Funktion (ProcessCurrent) so bearbeiten, dass sie eine Meldung enthält, die auf einen Fehler bei der Datenüberprüfung hinweist.
Der CGI-Beispielanmeldecode wurde unter Verwendung von Microsoft Visual C++, Version 4.1, kompiliert. Eine Projektdatei namens Signup.mdb ist in diesem Kit enthalten, damit Sie die ausführbare CGI-Verarbeitungsdatei bei Bedarf neu erstellen können. Da die Datenbank unter Verwendung der Funktionen der Windows-Initialisierungsdatei implementiert wurde, enthält der Quellcode die Datei Windows.h. Andere Teile des Quellcodes müssen möglicherweise geringfügig angepasst werden, wenn Ihr HTTP-Server nicht auf einer Microsoft Windows-Plattform ausgeführt wird. In den meisten Teilen ist der Beispielcode jedoch gut portierbar.
Der CGI-Beispielanmeldecode wurde mit einfachen, nacheinander generierten Sitzungszugriffsnummern kompiliert. In allen öffentlichen Implementierungen müssen diese Sitzungszugriffsnummern jedoch mit einem Zufallsgenerator erzeugt werden. Die Verwendung zufälliger Zugriffsnummern verhindert, dass ein Benutzer die Zugriffsnummer eines anderen Benutzers erraten kann (dies ist mit aufeinanderfolgenden Zugriffsnummern außerordentlich einfach).