What are the best practices for protecting against session hijacking in PHP?
Session hijacking occurs when an attacker steals a user's session ID and impersonates them on a website. To protect against this, it is essential to use secure cookies, implement session regeneration, and validate user sessions on each request.
// Start a secure session
session_start();
// Set session cookie parameters
session_set_cookie_params([
'httponly' => true,
'samesite' => 'Strict'
]);
// Regenerate session ID to prevent session fixation
session_regenerate_id(true);
// Validate user session on each request
if (!isset($_SESSION['user_id'])) {
// Redirect to login page or handle unauthorized access
}