Web Sitesinde Log İşlemi (.PHP)
Aşadaki kod ile basit birşekilde php sayfasına gelen kişilerin bilgilerini çeke bilirsiniz; "<?php // index.php - ziyaretçi bilgilerini visitors.txt dosyasına kaydeder
$logFile = DIR . '/visitors.txt'; // metin belgesi
// dosya yoksa oluştur if (!file_exists($logFile)) { file_put_contents($logFile, "=== Log dosyası oluşturuldu: " . date('Y-m-d H:i:s') . " UTC ===\n", LOCK_EX); @chmod($logFile, 0640); }
// Veri Tespiti function getClientIP() { $keys = [ 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR' ]; foreach ($keys as $k) { if (!empty($_SERVER[$k])) { $ipList = explode(',', $_SERVER[$k]); $ip = trim($ipList[0]); if (filter_var($ip, FILTER_VALIDATE_IP)) { return $ip; } } } return 'UNKNOWN'; }
$ip = getClientIP(); $ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'UNKNOWN'; $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $accept = isset($_SERVER['HTTP_ACCEPT']) ? $_SERVER['HTTP_ACCEPT'] : ''; $time = (new DateTime('now', new DateTimeZone('UTC')))->format('Y-m-d H:i:s');
// JSON Lines formatında kayıt $entry = [ 'time_utc' => $time, 'ip' => $ip, 'user_agent' => $ua, 'referer' => $referer, 'accept' => $accept, 'remote_addr' => isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '' ];
// Log satırı oluştur $logLine = json_encode($entry, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . "\n";
file_put_contents($logFile, $logLine, FILE_APPEND | LOCK_EX);
?>" Bu basit kod parçası ile siteye girenlerin loglarını tuta bilirsiniz.
Konuyu Yanıtla
Markdown destekler · Alıntı, kod, liste kullanabilirsinizKonuyu yanıtlamak için giriş yapmalısınız.