php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
程序员文章站
2024-04-02 11:13:28
本文实例讲述了php使用header函数,php_auth_pw和php_auth_user做用户验证的方法。分享给大家供大家参考,具体如下:
在php中,可以使用hea...
本文实例讲述了php使用header函数,php_auth_pw和php_auth_user做用户验证的方法。分享给大家供大家参考,具体如下:
在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']
获取到用户提交上来的用户名和密码之后,要怎样处理逻辑就跟我们一般的程序处理没有什么区别了。下面提供两个例程供参考:
<?php 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> <?php 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> <?php exit; } $name=mysql_result($query,0,"name"); $email=mysql_result($query,0,"email"); mysql_free_result($query); } ?>
另外一个参考的例程:
<?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!'; } ?>
更多关于php相关内容感兴趣的读者可查看本站专题:《php网络编程技巧总结》、《php基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家php程序设计有所帮助。
推荐阅读
-
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证,basicauthheader
-
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
-
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证,basicauthheader_PHP教程
-
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
-
Header函数和PHP_AUTH_USER做用户验证
-
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
-
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证_PHP
-
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证_PHP
-
Header函数跟PHP_AUTH_USER做用户验证(转载)
-
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证_php技巧