首页  >  文章  >  后端开发  >  php实现网页安全认证的代码详解

php实现网页安全认证的代码详解

黄舟
黄舟原创
2017-09-29 09:14:011960浏览

这篇文章主要介绍了PHP网页安全认证的实例详解的相关资料,这里提供了两种实现方法,一种基于数据库另一种不基于数据库的方法,希望通过本能帮助到大家,需要的朋友可以参考下

PHP网页安全认证的实例详解

 不基于数据库:


<?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;]);  
 }
?>

基于数据库:


<?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();
    }
  }
 ?>

以上是php实现网页安全认证的代码详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn