How can a PHP developer prevent session hijacking and unauthorized access to user data in a web application?
Session hijacking and unauthorized access to user data can be prevented by using secure session handling techniques in PHP. This includes using HTTPS for secure communication, generating unique session IDs, storing session data securely, and validating session data on each request.
// Start a secure session
session_start([
'cookie_secure' => true,
'cookie_httponly' => true,
'use_only_cookies' => true
]);
// Regenerate session ID to prevent session fixation
session_regenerate_id(true);
// Validate session data on each request
if ($_SESSION['authenticated'] !== true) {
// Redirect to login page or deny access
header('Location: login.php');
exit;
}