PHP Kullanıcı Aktivite Log Sistemi

0 Antworten 3 Aufrufe
·
Teilnehmer
Themenersteller #1
Giriş ve Temel Kavramlar

Günümüzde web uygulamalarında kullanıcı aktivitelerini izlemek, güvenlik ve kullanıcı deneyimi açısından büyük önem taşıyor. PHP kullanarak basit ama etkili bir kullanıcı aktivite log sistemi kurmak, uygulamanın hangi bölümlerinde kullanıcıların neler yaptığını takip etmenizi sağlar. Bu sistem, giriş çıkışlar, form gönderimleri, sayfa ziyaretleri gibi olayları kaydetmek üzerine odaklanabilir.

Veritabanı Yapısı

İlk adım olarak, aktivitelerin kaydedileceği bir veritabanı tablosu oluşturmak gerekir. Örnek olarak:

CODE
12345678910
CREATE TABLE user_activity_logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    activity_type VARCHAR(50) NOT NULL,
    description TEXT,
    ip_address VARCHAR(45),
    user_agent TEXT,
    activity_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);


Bu yapı, her kaydın kullanıcı kimliği, yaptığı işlem, açıklaması, IP adresi, tarayıcı bilgisi ve zamanını tutar. Bu bilgiler, aktivitelerin detaylı analizini sağlar.

Aktivite Kaydetme İşlemi

Kullanıcı bir olay gerçekleştirdiğinde, PHP ile aşağıdaki gibi kaydetmek mümkündür:

CODE
12345678910
function logUserActivity($userId, $activityType, $description = '') {
    $ip = $_SERVER['REMOTE_ADDR'];
    $agent = $_SERVER['HTTP_USER_AGENT'];
    $timestamp = date('Y-m-d H:i:s');

    $conn = new PDO('mysql:host=localhost;dbname=veritabani', 'kullanici', 'parola');
    $stmt = $conn->prepare("INSERT INTO user_activity_logs (user_id, activity_type, description, ip_address, user_agent, activity_time) VALUES (?, ?, ?, ?, ?, ?)");
    $stmt->execute([$userId, $activityType, $description, $ip, $agent, $timestamp]);
}


Burada, PDO kullanımı ile güvenli ve esnek bir veri kaydı sağlanır. Bu fonksiyon, her aktivite sonrası çağrılarak kullanıcı hareketleri kaydedilebilir.

Uygulama ve Güvenlik Dikkatleri

  • Log kaydını, önemli aktiviteler (giriş, çıkış, şifre değişikliği vb.) sırasında çağırmak gerekir.
  • Veritabanı bağlantı detayları ve erişim kontrolleri dikkatli yönetilmeli.
  • Logların gizliliği ve bütünlüğü sağlanmalı; gereksiz veya aşırı detay kaydı, performansı olumsuz etkileyebilir.


Bu sistem, temel bir kullanıcı aktivite takibi sağlar ve ihtiyaçlara göre genişletilebilir. Örneğin, belirli aktiviteleri filtrelemek veya raporlar oluşturmak gibi ek fonksiyonlar eklenebilir. Bu sayede, uygulamanın kullanım analizleri ve güvenlik önlemleri güçlendirilir.

Sie müssen angemeldet sein, um zu antworten.

0 Zitate ausgewählt