Pberndt V4

Direkt zum Inhalt springen


Quellcode Passwortliste.php

Beschreibung

Ein Dateischutz, der Links mit zufällig generierten Passwörtern zur Einmaligen Nutzung sichert.

Sourcecode

<?php

    /*
        Passwortliste

        Aktion: PHP Scripte für die armen dieser Welt
        Der Erlös geht für mein Pausenbrot drauf

        Copyright (c) 2004 by Phillip 'Firebird' Berndt
    */

   
    $passwortDatei = 'keywords.dat';
   
    // GenPasswort generiert ein Passwort auf die Seite $page
    function genPasswort($page)
    {
        $passwortArray = file_exists($GLOBALS['passwortDatei']) ?
        unserialize(implode('', file($GLOBALS['passwortDatei']))) : array();
       
        $randomPw = substr(md5(uniqid(time())), 0, 6);   
        $passwortArray[$randomPw] = $page;
       
        fwrite(fopen($GLOBALS['passwortDatei'], 'wb'), serialize($passwortArray));
               
        return $randomPw;
    }
   
    // gehPasswort prüft ob ein Passwort existiert und leitet
    // ggf. auf diese Seite weiter
    function gehPasswort($passwort)
    {
        $passwortArray = file_exists($GLOBALS['passwortDatei']) ?
        unserialize(implode('', file($GLOBALS['passwortDatei']))) : array();
       
        if(isset($passwortArray[$passwort]))
        {
            header('Location: '.$passwortArray[$passwort]);
            unset($passwortArray[$passwort]);
            fwrite(fopen($GLOBALS['passwortDatei'], 'wb'), serialize($passwortArray));
            die();
        }
       
        return 1;
    }
   
    // Beispielprogramm:
    $action = $_GET['action'];
    if($action == 'neuesPw')
        echo('Dein Passwort lautet '.genPasswort($_GET['seite']));
       
    if($action == 'geheZu')
        if(gehPasswort($_GET['passwort']))
            echo('Falsches Passwort');
?>
<hr>
<form method=get>
Passwort: <input type=text name=passwort>
<input type=submit name=action value=geheZu>
</form>
<hr>
<form method=get>
Passwort generieren f&uuml;r: <input type=text name=seite>
<input type=submit name=action value=neuesPw>
</form>

Download

Dateiname
Passwortliste.php
Größe
1.85kb