How can sessions be used as a more secure alternative to cookies for user authentication in PHP?

Using sessions for user authentication in PHP is a more secure alternative to using cookies because session data is stored on the server-side rather than on the client-side. This means that sensitive information such as user credentials are not exposed to potential threats like cross-site scripting attacks. To implement user authentication using sessions, you can set session variables upon successful login and check for these variables on protected pages to ensure that the user is authenticated.

// Start the session
session_start();

// Check if the user is logged in
if(isset($_SESSION['user_id'])) {
    // User is authenticated, allow access to protected content
} else {
    // Redirect user to login page
    header("Location: login.php");
    exit();
}