Cette section décrit les composants distribués dans le dossier Server du Kit ISS. Si vous n'exécutez pas Microsoft IIS, ou si vous préférez une structure de dossiers différente, consultez les remarques suivantes :
Le client est configuré pour DHCP. Vous devez configurer ISS pour fournir une adresse IP DHCP au client lorsque celui-ci se connecte au serveur. Dans la mesure où le processus d'inscription prend peu de temps, la durée de validité de l'adresse IP peut être courte, de l'ordre de quelques minutes seulement.
Dans la mesure où le traitement de l'inscription doit être utilisé lors d'une connexion point-à-point, il n'est pas nécessaire que les adresses IP allouées pour le serveur DHCP soient des adresses IP formellement attribuées. Il vous incombe de déterminer si les adresses IP DHCP seront des adresses Internet valides ou des adresses arbitraires.
Pour que le client puisse traiter le fichier .ins automatiquement, vous devez enregistrer un type MIME pour les fichiers .ins auprès d'ISS. Ce type MIME est intitulé « application/x-Internet-signup ». Lorsque le client demande un fichier .ins, ISS répond avec ce type MIME, ce qui exécute l'application d'installation associée du côté client.
Vous devez modifier manuellement les types MIME du registre. Pour ajouter le type MIME de fichier .ins, utilisez Regedt32.exe pour ajouter les informations suivantes :
Sous cette clé:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo\Parameters\MimeMap
Ajoutez cette valeur
application/x-internet-signup,ins,,5
Cette valeur n'est pas associée à une chaîne. Pour plus d'informations sur la configuration des types MIME, consultez l'aide d'IIS.
Remarque
Pour que ces paramètres de registre prennent effet, il est nécessaire de fermer tous les services IIS après avoir ajouté le nouveau type MIME. Il ne suffit pas simplement d'arrêter et de redémarrer le service de publication Web. (En pratique, il est peu probable que les services FTP et Gopher fonctionnent en configuration ISS.)
Cette version de l'exemple ISS a été testée sur IIS. Les rubriques suivantes traitent des remarques d'installation spécifiques à IIS, telles que celles relatives à cette version.
Le code source CGI est écrit en C standard et utilise simplement un fichier format d'initialisation de Windows commme base de données. Vous devez immédiatement modifier deux sections du fichier source :
Ces sections apparaissent dans « ISP Customization Section » dans les commentaires sur le code source.
Les éléments de la table de mots clés des données sont utilisés de deux façons différentes :
Il existe deux groupes de fonctions interface de la base de données :
La fonction de début de transaction génère un pointeur de session unique qui identifie un client donné pendant toute la durée du processus d'inscription. Comme indiqué plus tôt, ce pointeur de session peut être un simple nombre en séquence (comme démontré dans l'exemple de code CGI) ou un identificateur de transaction généré par votre système de base de données. La valeur spécifique du pointeur de session est sans importance, dès lors qu'il est unique et que vous pouvez l'utiliser pour suivre la transaction d'inscription.
Vous utilisez la fonction de fin de transaction pour gérer le traitement de conclusion de transaction de votre propre base de données. Dans l'exemple de code CGI, un indicateur d'état montre que la transaction a été acceptée.
La fonction d'annulation de transaction remplit le même rôle que la fonction de fin de transaction, avec la prise en charge de l'action appropriée pour gérer l'annulation d'inscription.
Outre les modifications de code CGI précédentes, vous souhaitez peut-être une validation des données à chaque publication CGI, ou attendre la conclusion de la transaction pour valider les données insérées par le client qui s'inscrit. L'exemple de code CGI montre la méthode de validation de chaque publication CGI. Si la validation des données échoue dans la fonction FormtoDB, le modèle HTML courant est regénéré et renvoyé au client HTTP. Vous pouvez modifier cette fonction (ProcessCurrent) pour inclure un message indiquant l'erreur de validation des données.
L'exemple de code de traitement CGI d'inscription a été compilé en utilisant Microsoft Visual C++ version 4.1. Un fichier de projet, Signup.mdb, est inclus dans ce kit pour recréer le fichier exécutable de traitement CGI si nécessaire. Dans la mesure où la base de données a été mise en oeuvre en utilisant les fonctions de fichier d'initialisation de Windows, le code source comprend le fichier Windows.h. Il peut être nécessaire de modifier quelque peu d'autres zones de code source si votre serveur HTTP ne fonctionne pas sur une plate-forme Microsoft Windows. Cependant, dans la plupart des cas, l'exemple de code est assez transférable.
L'exemple de code de traitement CGI d'inscription a été compilé avec des pointeurs de session générés séquentiellement. Pour une installation destinée au public, ces pointeurs de session doivent être générés avec un générateur de pointeurs aléatoires. L'utilisation de pointeurs aléatoires élimine la possibilité qu'un utilisateur devine le pointeur d'un autre utilisateur (ce qui est très facile avec des pointeurs séquentiels).