Heim >Backend-Entwicklung >PHP-Tutorial >So überprüfen Sie die Anmeldung in der http-Datenbank in PHP

So überprüfen Sie die Anmeldung in der http-Datenbank in PHP

不言
不言Original
2018-07-19 16:08:473556Durchsuche

Wie überprüfe ich die Anmeldung in der http-Datenbank in PHP? Schauen wir uns als Nächstes ein Implementierungsbeispiel für die HTTP-Datenbankauthentifizierungsanmeldung in PHP an.

1. Über die Dateiauthentifizierungsmethode

Parsen Sie das Anmeldekonto und das Passwort, die in der erstellten .htpasswd-Datei gespeichert sind

Extrahieren Sie das von der Datei gesendete HTTP Rezeption Überprüfen Sie das Anmeldekonto und das Passwort

$_SERVER['PHP_AUTH_USER'] und $_SERVER['PHP_AUTH_PW']

Vergleichen Sie den Code bzw. die Datenbankmethode

Die Codeadresse

https://github.com/956077081/PHP_demo/blob/master/HttpLogin.php

2. Informationen zum Dateivergleich basierend auf der Datenbank

<?php
   //验证Http的两个参数 
//$_SERVER[&#39;PHP_AUTH_USER&#39;]
//$_SERVER[&#39;PHP_AUTH_PW&#39;];
//echo $_SERVER[&#39;PHP_AUTH_USER&#39;]."\r\n";
//echo $_SERVER[&#39;PHP_AUTH_PW&#39;];
function authenticate_user ()
{
    header("WWW-Authenticate: Basic realm =&#39;Project&#39;");
    header("HTTP/1.1 401 unauthorized");
}
$user = $_SERVER[&#39;PHP_AUTH_USER&#39;];
$passwd =  $_SERVER[&#39;PHP_AUTH_PW&#39;];
if( !isset($user) ||!isset($passwd)){
    authenticate_user();
}else{
   $db = new mysqli("localhost", "root", "123456", "httpauth");
   $stm = $db->prepare("select name ,passwd from auth where name=? and passwd=?");
   $stm->bind_param("ss",$user,$passwd);
   $stm->execute();
   $stm->store_result();
   if ( $stm->num_rows == 0 ){
       authenticate_user();
   }else{
       echo "you are sucessful to login !";
   }
}

Die entsprechende Datenbank (httpauth) Die Klartext-Verifizierungsmethode kann auch zum Verschlüsseln und Vergleichen der Datenbank und der PHP-Originaldaten verwendet werden

use httpauth;
create table autht(
id int(10)  UNSIGNED not NULL  AUTO_INCREMENT,
name VARCHAR(50) NOT NULL  DEFAULT &#39;&#39; ,
passwd VARCHAR(50)  not NULL DEFAULT &#39;&#39;,
harsh VARCHAR(50)  DEFAULT &#39;&#39;,
PRIMARY KEY(id,name),
INDEX `asd` (name)
 ) ENGINE = INNODB , DEFAULT CHARSET = UTF8 COMMENT="HTTP登录验证"

Verwandte Empfehlungen:

PHP-Benutzer-Cookie-Anmeldebestätigung und MySQL-Daten-Anmeldebestätigungsmethoden

PHP verwendet Curl, um die Anmeldung bei einer Website mit Bestätigungscode und Curl-Bestätigungscode zu simulieren

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die Anmeldung in der http-Datenbank in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn