#!/usr/bin/env php getMessage() . "\n"; } // Test 2: Vérifier le fichier de cache echo "\n3. Vérification du cache local:\n"; $cacheFile = __DIR__ . '/../config/whitelist_ip_cache.txt'; if (file_exists($cacheFile)) { $cacheData = json_decode(file_get_contents($cacheFile), true); if ($cacheData) { echo " ✓ Cache trouvé:\n"; echo " - IP: " . ($cacheData['ip'] ?? 'N/A') . "\n"; echo " - Récupéré le: " . ($cacheData['retrieved_at'] ?? 'N/A') . "\n"; echo " - Timestamp: " . ($cacheData['timestamp'] ?? 'N/A') . "\n"; $age = time() - ($cacheData['timestamp'] ?? 0); $ageMinutes = round($age / 60); echo " - Âge du cache: $ageMinutes minutes\n"; if ($age > 3600) { echo " ⚠ Le cache a plus d'1 heure et sera rafraîchi au prochain appel\n"; } } else { echo " ⚠ Cache invalide\n"; } } else { echo " - Pas de cache local trouvé\n"; } // Test 3: Tester quelques IPs echo "\n4. Test de blocage pour quelques IPs:\n"; $testIps = [ '127.0.0.1' => 'Localhost (whitelist statique)', '8.8.8.8' => 'Google DNS (non whitelisté)', ]; // Ajouter l'IP dynamique si elle existe if (!empty($dynamicIps) && isset($dynamicIps[0])) { $testIps[$dynamicIps[0]] = 'IP depuis IN3 (whitelist dynamique)'; } foreach ($testIps as $ip => $description) { $isWhitelisted = IPBlocker::isWhitelisted($ip); $isBlocked = IPBlocker::isBlocked($ip); echo " - $ip ($description):\n"; echo " Whitelisté: " . ($isWhitelisted ? '✓ Oui' : '✗ Non') . "\n"; echo " Bloqué: " . ($isBlocked ? '✗ Oui' : '✓ Non') . "\n"; } echo "\n=== Fin du test ===\n";