>  기사  >  백엔드 개발  >  PHP에서 http 데이터베이스의 로그인을 확인하는 방법

PHP에서 http 데이터베이스의 로그인을 확인하는 방법

不言
不言원래의
2018-07-19 16:08:473494검색

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 사용자 쿠키 로그인 확인 및 MySQL 데이터 로그인 확인 방법

php는 컬을 사용하여 인증 코드, 컬 인증 코드로 웹사이트 로그인을 시뮬레이션합니다

위 내용은 PHP에서 http 데이터베이스의 로그인을 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.