• 简单的一个php验证登陆代码



    <?php
    /**
    */

    if (
    !isset($_SERVER['PHP_AUTH_USER'])
    || !isset($_SERVER['PHP_AUTH_PW'])
    || $_SERVER['PHP_AUTH_USER'] != 'qiku'
    || $_SERVER['PHP_AUTH_PW'] != '4rfvXSW@$#@'
    ) {
    header('WWW-Authenticate: Basic realm="Login"');
    header('HTTP/1.0 401 Unauthorized');
    echo <<<EOB
    <html><title>Error Login</title><body>
    <h1>Rejected!</h1>
    <big>Wrong Username or Password!</big>
    </body></html>
    EOB;
    exit();
    }

    ?>

    ------------------------------------------------------------------------------------------------------

    php Header PHP_AUTH_USER PHP_AUTH_PW 用户验证

    在php中,可以使用Header函数做一些有趣的事情,用户验证就是其中一个很有意思的功能。具体用法:

    Header("WWW-Authenticate: Basic realm="USER LOGIN"");

    Header("HTTP/1.0 401 Unauthorized");

    在页首设计这两个Header函数,页面在载入前会出现一个登录框,要求输入用户名和密码。习惯了在页面登录的我们,是否觉得这样的登录很原始,又很新奇呢?

    为了获取从这个对话框中传来的用户名和密码,需要用到php提供的两个特殊变量$PHP_AUTH_USER和$PHP_AUTH_PW,要这样使用这两个特殊变量好像需要在php.ini中设置相关的选项,不然就只能像下面这样引用:

    $_SERVER['PHP_AUTH_USER']

    $_SERVER['PHP_AUTH_PW']

    获取到用户提交上来的用户名和密码之后,要怎样处理逻辑就跟我们一般的程序处理没有什么区别了。下面提供两个例程供参考:

    <?

    if(!isset($PHP_AUTH_USER)) {

    Header("WWW-authenticate: basic realm="XXX"");

    Header("HTTP/1.0 401 Unauthorized");

    $title="Login Instructions";

    ?>

    <blockquote>

    In order to enter this section of the web site, you must be an XXX

    subscriber. If you are a subscriber and you are having trouble logging

    in,

    please contact <a href="mailto:support@xxx.com">support@xxx.com</a>.

    </blockquote>

    <?

    exit;

    } else {

    mysql_pconnect("localhost","nobody","") or die("Unable to connect to

    SQL server");

    mysql_select_db("xxx") or die("Unable to select database");

    $user_id=strtolower($PHP_AUTH_USER);

    $password=$PHP_AUTH_PW;

    $query = mysql_query("select * from users where user_id='$user_id' and

    password='$password'");

    if(!mysql_num_rows($query)) {

    Header("WWW-authenticate: basic realm="XXX"");

    Header("HTTP/1.0 401 Unauthorized");

    $title="Login Instructions";

    ?>

    <blockquote>

    In order to enter this section of the web site, you must be an XXX

    subscriber. If you are a subscriber and you are having trouble

    logging in,

    please contact <a href="mailto:support@xxx.com">support@xxx.com</a>.

    </blockquote>

    <?

    exit;

    }

    $name=mysql_result($query,0,"name");

    $email=mysql_result($query,0,"email");

    mysql_free_result($query);

    }

    ?>

    来源页面:http://www.weberdev.com/get_example-82.html

    另外一个参考的例程:

    <?php

    //assume user is not authenticated

    $auth = false;

    $user = $_SERVER['PHP_AUTH_USER'];

    $pass = $_SERVER['PHP_AUTH_PW'];

    if ( isset($user) && isset($pass) )

    {

    //connect to db

    include 'db_connect.php';

    //SQL query to find if this entered username/password is in the db

    $sql = "SELECT * FROM healthed_workshop_admin WHERE

    user = '$PHP_AUTH_USER' AND

    pass = '$PHP_AUTH_PW'";

    //put the SQL command and SQL instructions into variable

    $result = mysql_query($sql) or die('Unable to connect.');

    //get number or rows in command; if more than 0, row is found

    $num_matches = mysql_num_rows($result);

    if ($num_matches !=0)

    {

    //matching row found authenticates user

    $auth = true;

    }

    }

    if (!$auth)

    {

    header('WWW-Authenticate: Basic realm="Health Ed Presentation Admin"');

    header('HTTP/1.0 401 Unauthorized');

    echo 'You must enter a valid username & password.';

    exit;

    }

    else

    {

    echo 'Success!';

    }

    ?>

  • 相关阅读:
    Best HTTP
    Unity3D游戏轻量级xlua热修复框架
    线段树
    7.1
    BZOJ 3011: [Usaco2012 Dec]Running Away From the Barn( dfs序 + 主席树 )
    BZOJ 3585: mex( 离线 + 线段树 )
    2015暑假集训
    BZOJ 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛( dp )
    BZOJ 2693: jzptab( 莫比乌斯反演 )
    2015.7.31
  • 原文地址:https://www.cnblogs.com/wuhongkuan/p/4600755.html
Copyright © 2020-2023  润新知