ホームページ  >  記事  >  バックエンド開発  >  PHPでhttpデータベースへのログインを確認する方法

PHPでhttpデータベースへのログインを確認する方法

不言
不言オリジナル
2018-07-19 16:08:473498ブラウズ

PHP で http データベースへのログインを確認するにはどうすればよいですか?次に、PHPでのhttpデータベース認証ログインの実装例を見てみましょう。

1. ファイルの認証方法について

作成した.htpasswdファイルに保存されているログインアカウントとパスワードを解析します

送信されたhttpを抽出します。フロントデスク ログインアカウントとパスワードを確認します

$_SERVER['PHP_AUTH_USER']と$_SERVER['PHP_AUTH_PW']

コードとデータベースメソッドをそれぞれ比較します

コードアドレス

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

2. データベースに基づくファイル比較について

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

対応するデータベース (httpauth) 平文検証方法を使用して、データベースと PHP 元データを自分で暗号化して比較することもできます

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

関連する推奨事項:

php ユーザー cookie ログイン検証と mysql データ ログイン検証メソッド

php は、curl を使用して、検証コード、curl 検証コードを使用して Web サイトへのログインをシミュレートします。

以上がPHPでhttpデータベースへのログインを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。