Apache服务器的用户认证(3)
来源:asp之家 发布时间:2010-05-22 18:17:00
二. 采用数据库存储
目前,Apache、PHP4、MySQL三者是Linux下构建Web网站的最佳搭档,这三个软件都是免费软件。将三者结合起来,通过HTTP协议,利用PHP4和MySQL,实现Apache的用户认证功能。
只有在PHP4以Apache的模块方式来运行的时候才能进行用户认证。为此,在编译Apache时需要加入PHP4模块一起编译。假设PHP4作为Apache的模块,编译、安装Apache到/usr/local/apache目录,编译、安装MySQL到/usr/local/mysql目录。然后进行下面的步骤:
1.在MySQL中建立一个数据库member,在其中建立一个表users,用来存放合法用户的用户名和密码。
1)用vi命令在/tmp目录建立一个SQL脚本文件auth.sql,内容为:
drop database if exists member;
create database member;
use member;
create table users (
username char(20) not null,
password char(20) not null,
);
insert into users values("user1",password("1234"));
insert into users values("user2",password("5678"));
2)启动MySQL客户程序mysql,执行上述SQL脚本文件auth.sql的命令, 在表users中增加两个用户的记录。
#mysql -u root -pmypwd</tmp/auth.sql
2.编写一个PHP脚本头文件auth.inc,程序内容为:
<?php
function authenticate() {
Header(WWW-authenticate: basic realm="会员区");
Header(HTTP/1.0 401 Unauthorized);
echo "你必须输入正确的用户名和口令。n";
exit;
}
function CheckUser($uname, $pwd) {
if ($uname == "" || $pwd == "") return 0;
$query = "SELECT username,password FROM users WHERE username=$uname and password=password($pwd)";
$db_id = mysql_connect(localhost, oot, mypwd);
mysql_select_db(member,$db_id);
$result = mysql_query($query, $db_id);
$num=mysql_num_rows($result);
mysql_close($db_id);
if ($num>0) {
return 1; // 有效登录
} else {
return 0; // 无效登录
}
}
?>
猜你喜欢
- 一 环境Install VMware Tools on CentOS 7 to enable host shared folder acce
- 百度图片第一位!百度视频第一位!百度贴吧第一位!百度百科第一位!百度mp3第一位!最近又出狠招,把百度“有啊”也搬上来了,现在还比较低调,搜
- 前言:绝大多数的站长是负担不起独立主机所带来的金钱、时间、维护上的消耗,于是就有了虚拟主机业务。随着虚拟主机近几年良莠不齐的发展,如何选择一
- 禁用不明服务一些基本的命令往往可以在保护网路安全上起到很大的作用,下面几条命令的作用就非常突出。一、检测网络连接如果你怀疑自己的计算机上被别
- linux杀掉指定端口1、查看端口netstat -ntlp2、杀掉端口kill 端口3、重启服务service nginx&nb
- DedeCMS Error Warning,这个问题我也出现过,有办法解决,但能不能行得通还是个问题,如果你是独立服务器可以使用以下两个方法
- 现在就给大家介绍下友情链接作弊的方法。一,做一个没有什么权重的垃圾网站和你交换链接有的时候站长打着三向链接的旗号,让你的链接得连向他的那个真
- 本安装及设置教程适用于使用Windows2003为操作系统的服务器,目的是让服务器支持常见网络编程语言包括ASP、PHP、.Net1.1、.
- 一切本来都是那样的宁静,所有的网络服务都在默默地工作着。然而近一段时间来,经常有人打电话反映一个相同的问题:在接收E-Mail时,服务器端经
- 前言在Docker大行其道的今天,我们能够非常方便的使用容器打包我们的应用程序,并且将它在我们的服务器上部署并运行起来。但是,谈论到如何停掉
- FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵
- 一:持之以恒,每日更新。此条排在第一位,相信绝大多数个人站长不会有异议吧。一个网站从前期策划到建设维护再到后期推广,其中零碎烦琐之事不胜枚举
- 不要让读者找不着北:关于网站导航问题,越简单越好。虽然google鼓励你创建目录结构,但你不能让它太过复杂,比如需要15次点击才能到达目标内
- 中纪委监察部开通举报网站后广受关注,昨日下午网站登陆一直不顺畅,热线电话也一直忙音;到了晚上,相关服务才恢复正常,网民估计是太多人登陆所致。
- 据国外媒体介绍,Google今天宣布,将原DoubleClick旗下的Performics广告联盟整合入Google产品线,更名为Googl
- 概述微软的最新邮件系统Exchange server2007中新增加了一项服务:自动发现服务(auto discover service).
- foreach($kws as $k) { $k = trim($k); if($k!=”") { if($i > $max
- 1. 关键词密度关键词除了需要出现在标题里面,还需要在整个网页里面以一定的频率出现。你需要在标题、段落内容、(文字内容的)页头和页尾、Alt
- 刚好要重装虚拟机上的CentOS系统,就顺便记录下来给新手朋友们做做参考,在windows平台上通过安装虚拟机学习linux基本上是linu
- Discuz!7.0是康盛创想(Comsenz)公司于2008年12月份发布的一款论坛BBS建站产品。在Discuz!7.0版本中,为了更加