Verwenden Sie array in PHP zu vergleichen Benutzername/Passwort
Ich habe Folgendes php-script, das hat man Benutzernamen und Kennwort an:
$Username = 'user1';
$Password = 'pass1';
/******************************************************************************/
if (isset($_POST['submitform'])){
//Clean up the input values
foreach($_POST as $key => $value) {
$_POST[$key] = stripslashes($_POST[$key]);
$_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
}
$user = isset($_POST['user']) ? $_POST['user'] : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';
$report = $_POST['typereport'];
if ($pass != $Password || $user != $Username) {
showForm("Wrong Username/Password");
exit();
}
} else {
showForm();
exit();
}
Ich würde gerne das Skript robuster, was bedeutet, dass ich hätte eine andere Benutzername/Passwort, damit mehrere Benutzer sich einloggen können (oder wollen es für tracking-Zwecke)
Also, wie ändere ich das script, so kann ich verwenden Sie die folgenden für $Username
und $Password
:
$Username=array("user1","user2","user3");
$Password=array("pass1","pass2","pass3");
Damit das Skript wird immer mit dem richtigen Benutzernamen und Kennwort, und mir erlauben wird, mehrere Benutzer?
- Aus Neugier...warum bist du nicht mit einer Datenbank?
- Mit Hilfe von PHP, weil ich es bereits habe, so versuchen, um es robuster zu. Arbeiten an der SQL-version, aber versuchen, zu entscheiden, zu gehen mit PDO und mysqli und versuchen, machen es zu sql-injection Beweis.
- Sie wollen zu definieren, Benutzernamen und Passwörter in der Reihe, nicht in der Datenbank?
- Ja nur wie ich mein Aktuelles script außer es wird erlaubt, mehrere Benutzernamen/Passwort.
- Auch, Sie sind hashing der Passwörter, richtig? Das heißt, die Passwörter sollten nicht im Klartext.
- ist es nicht eine große Sache noch, bewegen Sie Ihre Benutzer-Datenbank, wenn Sie wirklich wollen, um ihn stabil zu machen.
- Recht gut im moment, es ist nicht hashed. Nur, gespeichert in einer php-Datei, die verglichen mit der Benutzer-Eintrag. Aber vielleicht auf der ganzen Linie ich werde implementieren Sie hashing?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde eine Datenbank verwenden. Wenn Sie zu fest ist, würde ich ein assoziatives array verwenden:
strtolower
den Eingang