Ik gebruik momenteel (kort samengevat) het volgende scriptje om een WWW-Authenticate te doen:
Het nadeel van dit script is dat je maar één keer een WWW-Authenticate popup krijgt. En als je die vereerd hebt ingevoerd mag je weer een nieuwe sessie gaan beginnen omdat $PHP_AUTH_USER dan niet leeg is.
Hoe kan ik dit script dusdanig aanpassen dat je 3x een loginscherm krijgt bij een fout password, en dat je dan niet weer een nieuwe sessie hoeft te beginnen?
PHP:
1
| <?// Importeren databaselogininclude "database.inc";// IP adres loggen$ip = getenv("REMOTE_ADDR");// Beginnen aan WWW-Authenticateif (!isset($PHP_AUTH_USER)) { Header("WWW-Authenticate: Basic Realm=\"Password required\""); Header("HTTP/1.0 401 Unauthorized");// Onderstaand bij rammen op cancel echo "Smerige slet, niet op cancel rammen!!"; exit; } else {// Wat je ziet bij goed login/pass mysql_connect($databaseip,$databaselogin,$databasepassword) or die ("Error 01: All your database are belong to us"); mysql_select_db("website") or die ("Error 02: Database is verdwenen"); $sql = "SELECT id FROM logins WHERE username='$PHP_AUTH_USER' and password='$PHP_AUTH_PW'"; $result = "mysql_query($sql) or die ("Error #03: Resultaten zijn pleite"); $num = mysql_numrows($result); $row = mysql_fetch_array($result); if ($num == 1) {// Wachtwoord en login zijn goed echo "Blaat blaat, welkom op de site."; exit;// Bij verkeerd l/p } else { echo "Ej kerel, jouw wachtwoord klopt niet!"; exit;}?> |
Het nadeel van dit script is dat je maar één keer een WWW-Authenticate popup krijgt. En als je die vereerd hebt ingevoerd mag je weer een nieuwe sessie gaan beginnen omdat $PHP_AUTH_USER dan niet leeg is.
Hoe kan ik dit script dusdanig aanpassen dat je 3x een loginscherm krijgt bij een fout password, en dat je dan niet weer een nieuwe sessie hoeft te beginnen?