How can PHP developers ensure secure log-in processes to prevent session key theft?

To ensure secure log-in processes and prevent session key theft, PHP developers can implement measures such as using HTTPS to encrypt data transmission, storing session keys securely, and validating user input to prevent injection attacks.

// Enable secure session cookie
ini_set('session.cookie_secure', 1);

// Set session cookie to be HTTP only
ini_set('session.cookie_httponly', 1);

// Use HTTPS for secure data transmission
if(empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off"){
    $redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    header('Location: ' . $redirect);
    exit();
}

// Validate user input to prevent injection attacks
$username = htmlspecialchars($_POST['username']);
$password = htmlspecialchars($_POST['password']);