Maison  >  Article  >  développement back-end  >  Comment vérifier la connexion dans la base de données http en PHP

Comment vérifier la connexion dans la base de données http en PHP

不言
不言original
2018-07-19 16:08:473511parcourir

Comment vérifier la connexion dans la base de données http en PHP ? Examinons ensuite un exemple d’implémentation de connexion par authentification de base de données http en PHP.

1. À propos de la méthode d'authentification du fichier

Analyser le compte de connexion et le mot de passe stockés dans le fichier .htpasswd créé

Extraire le http envoyé du réception Vérifiez le compte de connexion et le mot de passe

$_SERVER['PHP_AUTH_USER'] et $_SERVER['PHP_AUTH_PW']

Comparez respectivement le code et la méthode de base de données

Le adresse de code

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

2. À propos de la comparaison de fichiers basée sur la base de données

<?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 !";
   }
}

La méthode de vérification en texte brut de la base de données correspondante (httpauth) peut également être utilisée pour crypter et comparer la base de données et les données originales php par vous-même

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登录验证"

Recommandations associées :

Vérification de la connexion aux cookies de l'utilisateur php et méthodes de vérification de la connexion aux données MySQL

php utilise curl pour simuler la connexion à un site Web avec un code de vérification, un code de vérification curl

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn