Maison >développement back-end >tutoriel php >Explication détaillée du code pour php pour implémenter l'authentification de sécurité Web

Explication détaillée du code pour php pour implémenter l'authentification de sécurité Web

黄舟
黄舟original
2017-09-29 09:14:011999parcourir

Cet article présente principalement des informations pertinentes sur l'explication détaillée des exemples d'authentification de sécurité des pages Web PHP. Voici deux méthodes d'implémentation, l'une basée sur la base de données et l'autre non basée sur la base de données. J'espère que cela pourra aider tout le monde par instinct. Si vous en avez besoin, les amis peuvent se référer à

Exemples détaillés de certification de sécurité Web PHP

Non basé sur une base de données :


<?php
    //unset($_SERVER[&#39;PHP_AUTH_USER&#39;]);
    $strAuthUser= $_SERVER[&#39;PHP_AUTH_USER&#39;];      
    $strAuthPass= $_SERVER[&#39;PHP_AUTH_PW&#39;];

 if (! ($strAuthUser == "a" && $strAuthPass == "a")) {
  header(&#39;WWW-Authenticate: Basic realm="wly"&#39;);
  header(&#39;HTTP/1.0 401 Unauthorized&#39;);
  echo "用户验证!!";
  exit;
 } else {
  echo "验证通过";
  
  header("location:http://www.baidu.com");
  //unset($_SERVER[&#39;PHP_AUTH_USER&#39;]);  
 }
?>

Basé sur la base de données :


<?php
  function authenticate_user() {
    header(&#39;WWW-Authenticate: Basic realm="Secret Stash"&#39;);
   header("HTTP/1.0 401 Unauthorized");
    exit;
  }
 
  if (! isset($_SERVER[&#39;PHP_AUTH_USER&#39;])) {
    authenticate_user();
  } else {
    mysql_pconnect("localhost","authenticator","secret") or die("Can&#39;t connect to database server!");
    mysql_select_db("java2s") or die("Can&#39;t select authentication database!");
 
   $query = "SELECT username, pswd FROM user WHERE username=&#39;$_SERVER[PHP_AUTH_USER]&#39; AND pswd=MD5(&#39;$_SERVER[PHP_AUTH_PW]&#39;)";
 
    $result = mysql_query($query);
 
    // If nothing was found, reprompt the user for the login information.
    if (mysql_num_rows($result) == 0) {
     authenticate_user();
    }
  }
 ?>

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