Serveur HTTP

  1. Faire un serveur pour le protocole HTTP qui rende accessible tous les fichiers à partir d'un répertoire donné en argument. Ce serveur tournera sur le port 8080.
    [corrigé]

  2. Modifier le serveur de l'exercice précédent pour qu'il gère le controle d'accés: le serveur devra demander un nom et un mot de passe qui seront placés dans une base de donnée.

    On utilisera le protocole basic d'authentification de HTTP: la requête est accompagnée d'une ligne de la forme

    Le texte codé en base64 est de la forme Si la ligne d'autorisation n'est pas présente, ou si elle est incorrecte, le serveur renvoie (Attention: seule cette partie du protocole est à implémenter: le reste est déjà dans la plupart des browsers.)
    [corrigé]

  3. Modifier le serveur de l'exercice précédent en utilisant le protocole d'authentification par empreinte numérique (utilisant de la crypto, cf. RFC 2069).

  4. Rajouter d'autres moyens d'authentification (d'espionnage...) : numéro de carte Ethernet, interrogation du démon identd sur le port 113 (cf. RFC 1413 et page de man)