盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

Apache服务器的用户认证 (转)

时间:2025/1/10作者:未知来源:盾怪网教程人气:

[摘要]== "") return 0;   = "SELECT username,password FROM usersswheresusername='' ...
== "") return 0;

   = "SELECT username,password FROM usersswheresusername='' and password=password('')";

   = mysql_connect('localhost', 'root', 'mypwd');

  mysql_select_db('member',);

   = mysql_query(, );

  =mysql_num_rows();

  mysql_close();

  if (>0) {

  return 1; //有效登录

  } else {

  return 0; //无效登录

  }

  }

  ?>

  函数Authenticate()的作用是利用函数Header('WWW-authenticate: basic realm="会员区"'),向浏览器发送一个认证请求消息,使浏览器弹出一个用户名/密码的对话框。当用户输入用户名和密码后,包含此PHP脚本的URL将自动地被再次调用,将用户名、密码、认证类型分别存放到PHP4的三个特殊变量:、、,在PHP程序中可根据这三个变量值来判断是否合法用户。Header()函数中,basic表示基本认证类型,realm的值表示认证区域名称。

  函数Header('HTTP/1.0 401 Unauthorized')使浏览器用户在连续多次输入错误的用户名或密码时接收到HTTP 401错误。

  函数CheckUser()用来判断浏览器用户发送来的用户名、密码是否与MySQL数据库的相同,若相同则返回1,否则返回0。其中mysql_connect('localhost', 'root', 'mypwd')的数据库用户名root和密码mypwd,应根据自己的MySQL设置而改变。

  3.在需要限制访问的每个PHP脚本程序开头增加下列程序段:

  <?php

  require('auth.inc');

  if (CheckUser(,)==0) {

  authenticate();

  } else {

  echo "这是合法用户要访问的网页。"; //将此行改为向合法用户输出的网页

  }

  ?>

  把需要向合法用户显示的网页内容放到else子句中,取代上述程序段的一行:

  echo "这是合法用户要访问的网页。";

  这样,当用户访问该PHP脚本程序时,需要输入用户名和密码来确认用户的身份。

  Windows的Apache用户认证

  1.采用文本文件存放用户名和密码时,其方法同前,但需要注意的是表示路径的目录名之间、目录名与文件名之间一律用斜线“/”分开,而不是反斜线“”。

  2.采用MySQL数据库存放用户名和密码时,首先按下列方法将PHP 4.0.3作为Apache的模块来运行,然后按上述“采用数据库存储用户名和密码的用户认证”的方法完成。

  1)下载Windows版的Apache 1.3.12、PHP 4.0.3、MySQL 3.2.32,将三个软件分别解压、安装到C:pache、C:PHP4、C:mysql目录。

  2) C:PHP4SAPI目录有几个常用Web服务器的PHP模块文件,将其中php4apache.dll拷贝到Apache的modules子目录(C:pachemodules)。

  3)修改Apache的配置文件C:pachenfhttpd.conf,增加以下几行:

  LoadModule php4_module modules/ php4apache.dll

  AddType application/x-httpd-php .php3

  AddType application/x-httpd-php-source .phps

  AddType application/x-httpd-php .php

  第一行使PHP4以Apache的模块方式运行,这样才能进行用户认证,后三行定义PHP脚本程序的扩展名。

  4)在autoexec.bat文件的PATH命令中增加PHP4所在路径“C:PHP4”,重新启动电脑。


经我测试,2.0版本的apache不成



关键词:Apache服务器的用户认证 (转)




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版