Çerez hırsızlığını engelleme güvenli session

PHP 2024-01-03 09:11:20

Çerez hırsızlığını engelleme güvenli session ile oturum kontrolleri 

class SecureSessionManager {
    public function __construct() {
        $this->startSecureSession();
    }

    private function startSecureSession() {
        // Secure ve HttpOnly çerez ayarları
        ini_set('session.cookie_secure', 1);
        ini_set('session.cookie_httponly', 1);

        // Oturum kimliğini her oturum başlatıldığında değiştirme
        session_regenerate_id(true);

        // Oturum başlat
        session_start();

        // Oturum kimliğini her oturum başlatıldığında değiştirme
        session_regenerate_id();
    }

    public function regenerateSessionId() {
        // Oturum kimliğini güncelle
        session_regenerate_id(true);
    }

    public function validateIpAddress() {
        // Kullanıcının IP adresini kontrol et
        if (!isset($_SESSION['client_ip']) || $_SESSION['client_ip'] != $_SERVER['REMOTE_ADDR']) {
            // IP adresi değişmiş, oturumu sonlandır veya güncelleme yap
            $this->regenerateSessionId();
            $_SESSION['client_ip'] = $_SERVER['REMOTE_ADDR'];
        }
    }

    public function setSessionData($key, $value) {
        // Oturum verilerini şifreleme (gerekirse)
        // Bu örnekte şifreleme işlemi yapılmamıştır, daha güvenli bir uygulama için şifreleme eklemelisiniz.
        $_SESSION[$key] = $value;
    }

    public function getSessionData($key) {
        return isset($_SESSION[$key]) ? $_SESSION[$key] : null;
    }

    public function endSession() {
        // Oturumu sonlandır
        session_destroy();
    }
}

// Kullanım örneği:
$sessionManager = new SecureSessionManager();
$sessionManager->validateIpAddress();
$sessionManager->setSessionData('user_id', 123);

// Oturum verilerini almak için:
$userID = $sessionManager->getSessionData('user_id');

// Oturumu sonlandırmak için:
// $sessionManager->endSession();
Çerez Hırsızlığı Oturum Güvenliği Güvenli Session php

CONTACT ME

0 / 250 karakter