Strategien for skift password kan være:
$username = 'lazlowdk';
$time = time();
$secret = 'hemmeligt';
$checksum = md5( md5( $username . $time ) . $secret );
$url = "
http://dit.site.dk/glemt.php?bruger=$username:$time:$checksum";$url er så det link du sender til brugeren.
I glemt.php laver du så:
$param = explode( ":", $_GET['bruger'] );
if ( count( $param ) != 3 )
{
die( "Du kan ikke ændre password." );
}
list( $user, $time, $checksum ) = $param;
if ( $time < ( time() - (30 * 60) ) )
{
die( "Du kan kun bruge linket i en 30 minutter!" );
}
$secret = 'hemmeligt';
if ( md5( md5( $user . $time ) . $secret ) != $checksum )
{
die( "Du kan ikke ændre password." );
}
// Nu må brugeren godt ændre password
Der mangler lidt, men sådan er det generelle princip ;)