Heim > Artikel > Backend-Entwicklung > PHP implementiert die Login-Datenbank
php implementiert die Anmeldedatenbank
In modernen Webanwendungen ist die Benutzerauthentifizierung äußerst wichtig. Eine übliche Authentifizierungsmethode besteht darin, dass der Benutzer einen Benutzernamen und ein Passwort eingibt. Nach Erhalt der Anfrage überprüft der Server, ob die vom Benutzer eingegebenen Informationen korrekt sind. Erst nach erfolgreicher Überprüfung kann erfolgreich auf die relevanten Informationen zugegriffen werden. Während dieses Prozesses müssen beide Parteien zusammenarbeiten, um eine normale Benutzerauthentifizierung zu erreichen. Unter diesen ist die Verwendung einer Datenbank zum Speichern von Benutzerinformationen auf der Serverseite derzeit eine der am häufigsten verwendeten Implementierungsmethoden.
Wie kann man also PHP verwenden, um die Datenbankbenutzeranmeldung zu implementieren? In diesem Artikel wird dieser Vorgang für Sie erläutert.
Zunächst müssen wir klarstellen, dass der Benutzerauthentifizierungsprozess normalerweise die folgenden Schritte umfasst:
Schritt 1: Erstellen Sie eine Datenbank
Bevor wir mit der Implementierung der Anmeldefunktion beginnen, müssen wir zunächst eine Datenbank erstellen. In diesem Artikel verwenden wir die MySQL-Datenbank als Beispiel. Wir müssen zuerst MySQL installieren, uns dann bei MySQL anmelden und eine Datenbank mit dem Namen „test“ erstellen.
Datenbanktest erstellen;
Nachdem die Erstellung abgeschlossen ist, müssen wir eine Benutzertabelle erstellen. In dieser Benutzertabelle müssen wir den Benutzernamen und das Passwort des Benutzers speichern.
CREATE TABLE-Benutzer (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, Benutzername VARCHAR(30) NOT NULL,
Passwort VARCHAR(30) NOT NULL# 🎜🎜#);
Schritt 2: Mit der Datenbank verbinden
$password = "123456";
$dbname = "test";
?>
Als nächstes müssen wir eine Verbindung zur Datenbank herstellen und die Datenbank auswählen wir müssen verwenden. Dieser Prozess erfordert normalerweise die Verwendung des MySQLi-Objekts in PHP.
include('config.php');
$conn = new mysqli($servername, $username, $ Passwort, $dbname);
//Verbindung erkennen
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
Als nächstes müssen wir die Benutzeranmeldungsfunktion implementieren. In diesem Beispiel müssen wir den Benutzernamen und das Passwort aus dem vom Benutzer eingegebenen Formular abrufen. Übergeben Sie dann den Benutzernamen an die Datenbank und fragen Sie ab, ob der Benutzer existiert. Wenn der Benutzer vorhanden ist, überprüfen Sie, ob das Passwort korrekt ist. Wenn das Passwort korrekt ist, werden Erfolgsinformationen an den Benutzer zurückgegeben, andernfalls werden Fehlerinformationen zurückgegeben.
Zuerst müssen wir ein einfaches HTML-Formular erstellen, um den vom Benutzer eingegebenen Benutzernamen und das Passwort zu erhalten.
Das Formular oben Senden Sie den vom Benutzer eingegebenen Benutzernamen und das Passwort an die Seite login.php.
Als nächstes müssen wir PHP-Code verwenden, um den vom Benutzer eingegebenen Benutzernamen und das Passwort aus dem Formular abzurufen und den Benutzernamen an die Datenbank zu übergeben. Wenn der Benutzer gefunden wird, überprüfen Sie, ob das Passwort korrekt ist. Wenn das Passwort korrekt ist, werden die Benutzerinformationen in der Sitzung gespeichert und Erfolgsinformationen zurückgegeben, andernfalls werden Fehlerinformationen zurückgegeben.
include('config.php');
// Überprüfen Sie, ob das Formular gesendet wurde
if($_SERVER["REQUEST_METHOD"] = = "POST") {// 主动设置编码,防止中文出现乱码 header('Content-type:text/html;charset=utf-8'); $input_username = mysqli_real_escape_string($conn,$_POST['username']); $input_password = mysqli_real_escape_string($conn,$_POST['password']); // SQL语句 $sql = "SELECT * FROM users WHERE username = '$input_username'"; $result = mysqli_query($conn,$sql); $row = mysqli_fetch_array($result,MYSQLI_ASSOC); $count = mysqli_num_rows($result); // 如果查询到了该用户,检查密码是否正确 if($count == 1) { if(password_verify($input_password, $row['password'])) { // 密码正确,将用户信息存入session中 session_start(); $_SESSION["username"] = $row['username']; $_SESSION["login_time"] = time(); echo '登陆成功'; } else { // 密码错误,返回错误信息 echo '密码错误'; } } else { // 没有查询到该用户,返回错误信息 echo '用户名不存在'; }
Schritt 4: Sicherheitsüberlegungen
Nach Abschluss der oben genannten Schritte können wir die Benutzeranmeldung implementieren. In praktischen Anwendungen müssen wir jedoch auch einige Sicherheitsaspekte berücksichtigen, z. B. wie die Sicherheit von Benutzerkennwörtern in der Datenbank gewährleistet werden kann, wie SQL-Injection verhindert werden kann usw.
Um die Sicherheit des Benutzerpassworts in der Datenbank zu gewährleisten, müssen wir es verschlüsseln. PHP bietet viele Verschlüsselungsmethoden wie MD5, SHA1, Bcrypt usw. In diesem Artikel verwenden wir die mit PHP gelieferten Funktionen „password_hash“ und „password_verify“, die es uns ermöglichen, Passwörter bequemer zu ver- und entschlüsseln und gleichzeitig deren Sicherheit zu gewährleisten.
Gleichzeitig müssen wir auch darüber nachdenken, wie wir SQL-Injection-Schwachstellen verhindern können. Im obigen Code verwenden wir die Funktion mysqli_real_escape_string, um SQL-Injection-Schwachstellen zu vermeiden. Gleichzeitig können wir PHP PDO auch zur Implementierung von Datenbankoperationen verwenden. PDO bietet eine sicherere und zuverlässigere Möglichkeit, SQL-Injection-Angriffe wirksam zu verhindern.
In diesem Artikel stellen wir vor, wie Sie PHP verwenden, um die Datenbankbenutzeranmeldung zu implementieren. Dazu gehört das Herstellen einer Verbindung zur Datenbank, das Einholen von Benutzereingaben und das Abfragen der Datenbank. Durch die Einführung dieses Artikels glaube ich, dass jeder klarer verstehen kann, wie die Benutzeranmeldefunktion in PHP implementiert wird, und gleichzeitig die damit verbundenen Sicherheitsprobleme erkennen kann.
Das obige ist der detaillierte Inhalt vonPHP implementiert die Login-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!