Table des matières

Voir cette page sous forme de diaporama.

Cas pratique

Lecture de fichiers texte bruts et extraction d'informations via des outils simples comme grep ou PHP(avec expressions régulières) : Analyse de Logs Serveur avec PHP et Expressions Régulières

Objectif

Voius allez analyser un fichier de logs serveur (format Apache, Nginx, ou autre) en utilisant PHP et les expressions régulières. Vous devrez extraire des informations spécifiques comme les adresses IP, les codes de réponse HTTP, et les URLs demandées.

Contexte

Un site web génère un fichier de logs où chaque ligne contient des informations sur une requête effectuée par un utilisateur. Ces logs sont essentiels pour analyser le trafic, détecter des erreurs ou repérer des comportements suspects.

Exemple d'une ligne de log Apache :

192.168.1.10 - - [05/Feb/2025:10:15:32 +0100] “GET /index.php HTTP/1.1” 200 5320

Explication :

Objectifs du cas pratique

Consignes

Exemple d'algorithme attendu

  1. Lire le fichier ligne par ligne
  2. Extraire les données avec une expression régulière
  3. Stocker les informations dans des tableaux
  4. Analyser les données (compter les occurrences)
  5. Afficher les résultats sous forme de statistiques

Méthodologie

  1. fichier de log access.log fourni
  2. fichier à compléter analyseLogAFaire.php fourni
  3. récupérer les 2 fichiers, les mettre sur votre serveur php dans un dossier donnees
  4. comprendre le code fourni, notamment la fonction preg_match (Aide preg_match) utilisée
  5. que fait le code actuel ? que manque t'il ?
  6. commenter, compléter le code et tester