27. Januar 2024

Ein einfacher Passwortschutz mit PHP

Mit folgendem PHP-Skript kannst du Inhalte im Internet passwortgeschützt bereit stellen. Aber Achtung: Dieser Passwort-Schutz ist kein Hochsicherheitstrakt und theoretisch leicht zu knacken. Dafür ist der Code aber sehr kompakt, schnell einsetzbar und für die ein oder andere Anwendung reicht es allemal.

<?php
session_start([
    'cookie_lifetime' => 2592000,
]);

$password = '12345';

if ($_GET["a"] == 'logout'){
    $_SESSION['loginstatus'] = '';
    header('Location: ./passwortschutz.php');
}

$passwordinput = trim(utf8_decode(strip_tags($_POST["password"])));

if ($passwordinput == $password) {
    $_SESSION['loginstatus'] = 'loggedin';
} 
?>

<!doctype html>
<html lang="de">

<head>
    <title>Log in</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="robots" content="noindex, nofollow">
    <meta name="language" content="de">
    
    <link rel="stylesheet" href="assets/css/bootstrap.min.css">

</head>
<body>

<?php 

if ($_SESSION["loginstatus"] != 'loggedin'){ ?>
               
<div class="section py-4">
    <div class="container">
        <div class="row">
            <div class="col-8 col-md-3">
                <h1 class="mb-0">Log in</h1> 
                
                <form action="" method="post">
                <div class="form-group py-3">
                <input type="password" name="password" class="form-control" id="password" placeholder="Passwort">
                </div>
                <input type="submit" class="btn btn-secondary" value="Log in">
                </form>

            </div>  
        </div>
    </div>
</div>
                    
<?php } else { ?>

<div class="section py-4">
    <div class="container">
        <div class="row">
            <div class="col-8">
                <h1 class="mb-0">Logged in</h1> 
            </div>  
            <div class="col-4 text-end">
                <a href="passwortschutz.php?a=logout">Log out</a>
            </div>
        </div>
    </div>
</div>   

<?php } ?>

</body>

Demo: www.fbnfrtg.de/demo/passwortschutz.php (Passwort: 12345)


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert