更改服务器网站安装目录权限,Apache Wind2003 配置网站目录权限小结

news/2024/5/9 19:15:42/文章来源:https://blog.csdn.net/weixin_31429257/article/details/119626387

Apache Wind2003 配置网站目录权限小结

更新时间:2009年09月05日 22:32:03   作者:

Apache + Windows 2003 配置网站目录权限小结

非常简单的权限设置,就是访问网站时会弹出用户名和密码,通过身份验证后可以正常浏览,如下图。

20090905223159670.png

在Apache和Windows2003中配置起来也非常方便,主要参考了Apche的手册

1.建立密码文件

Apache在其安装目录的bin子目录中提供了htpasswd工具,用于建立密码文件:

htpasswd -b -c -m -d -s c:\password.txt username password

其中-m -d -s都是加密的方式,具体见参考手册

2.启用认证

其中方式有多种,可以在httpd.conf或.htaccess根目录中配置,不过在.htaccess中配置会影响服务器性能,因此这里采用httpd.conf中加入以下配置信息:

Options None

AllowOverride AuthConfig

Order allow,deny

Allow from all

AuthType Basic

AuthName "Restricted Files"

AuthUserFile c:/password.txt

Require valid-user

其中第2行是其中认证

第5行AuthType指明了基本认证方式,这是一种不加密的认证

第6行AuthName指明了认证区域,在我们输入用户名和密码的时候起到提示的作用

第7行AuthUserFile设置了密码文件的位置,该文件不应该在网站服务下(除非你想让别人知道用户名和密码)

第8行valid-user指明了所有在password.txt出现过的用户名和密码都可以访问

3.重启Apache即可

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

这再转一篇更详细的,一些细节可以参考一下:

经常上网的读者会遇到这种情况:访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码来获取对资源的访问。这就是用户认证的一种技术。用户认证是保护网络系统资源的第一道防线,它控制着所有登录并检查访问用户的合法性,其目标是仅让合法用户以合法的权限访问网络系统的资源。基本的用户认证技术是“用户名+密码”。

Apache是目前流行的Web服务器,可运行在Linux、Unix、Windows等操作系统下,它可以很好地解决“用户名+密码”的认证问题。Apache用户认证所需要的用户名和密码有两种不同的存贮方式:一种是文本文件;另一种是MSQL、Oracle、MySQL等数据库。下面以Linux的Apache为例,就这两种存贮方式,分别介绍如何实现用户认证功能,同时对Windows的Apache用户认证作简要的说明。

采用文本文件存储

这种认证方式的基本思想是:Apache启动认证功能后,就可以在需要限制访问的目录下建立一个名为.htaccess的文件,指定认证的配置命令。当用户第一次访问该目录的文件时,浏览器会显示一个对话框,要求输入用户名和密码,进行用户身份的确认。若是合法用户,则显示所访问的页面内容,此后访问该目录的每个页面,浏览器自动送出用户名和密码,不用再输入了,直到关闭浏览器为止。以下是实现的具体步骤:

以超级用户root进入Linux,假设Apache 1.3.12已经编译、安装到了/usr/local/apache目录中。缺省情况下,编译Apache时自动加入mod_auth模块,利用此模块可以实现“用户名+密码”以文本文件为存储方式的认证功能。

1.修改Apache的配置文件/usr/local/apache/conf/httpd.conf,对认证资源所在的目录设定配置命令。

下例是对/usr/local/apache/htdocs/members目录的配置:

<Directory /usr/local/apache/htdocs /members>

Options Indexes FollowSymLinks

allowoverride authconfig

order allow,deny

allow from all</Directory>

其中,allowoverride authconfig一行表示允许对/usr/local/apache/htdocs/ members目录下的文件进行用户认证。

2.在限制访问的目录/usr/local/apache/htdocs/members下建立一个文件.htaccess,其内容如下:

AuthName "会员区"

AuthType basic

AuthUserFile/usr/local/apache/members.txt

require valid-user

说明:文件.htaccess中常用的配置命令有以下几个:

1)AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。

2)AuthType命令:指定认证类型。在HTTP1.0中,只有一种认证类型:basic。在HTTP1.1中有几种认证类型,如:MD5。

3)AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。

4)AuthGroupFile命令:指定包含用户组清单和这些组的成员清单的文本文件。组的成员之间用空格分开,如:managers:user1 user2。

5)require命令:指定哪些用户或组才能被授权访问。如:

require user user1 user2 (只有用户user1和user2可以访问)

require group managers (只有组managers中成员可以访问)

require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)

3.利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文件:/usr/local/apache/members.txt,每行内容格式为“用户名:密码”。

#cd /usr/local/apache/bin

#htpasswd -bc ../members.txt user1 1234

#htpasswd -b ../members.txt user2 5678

文本文件members.txt含有两个用户:user1,口令为1234;user2,口令为5678。注意,不要将此文本文件存放在Web文档的目录树中,以免被用户下载。

欲了解htpasswd程序的帮助,请执行htpasswd -h。

当用户数量比较少时,这种方法对用户的认证是方便、省事的,维护工作也简单。但是在用户数量有数万人,甚至数十万人时,会在查找用户上花掉一定时间,从而降低服务器的效率。这种情形,应采用数据库方式。

采用数据库存储

目前,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; // 无效登录

}

}

?>

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

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

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

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

<?php

require(auth.inc);

if (CheckUser($PHP_AUTH_USER,$PHP_AUTH_PW)==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:apache、C:PHP4、C:mysql目录。

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

3)修改Apache的配置文件C:apacheconfhttpd.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”,重新启动电脑。

相关文章

1a1b05c64693fbf380aa1344a7812747.png

这篇文章主要介绍了Win7旗舰版中的IIS7配置asp.net的运行环境,需要的朋友可以参考下2014-12-12

4f55910a645b073bc4fc65dc10dc14bd.png

CC主要是用来攻击页面的.大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢2009-08-08

0ea3c7666119d5615e582f823fb3fad6.png

这篇文章主要介绍了访问网站时提示请求筛选模块被配置为拒绝包含双重转义序列的请求错误的解决方法,需要的朋友可以参考下2016-09-09

4f96a78db829b1556ff16de21e013c7a.png

这篇文章主要介绍了IIS报在服务器上找不到脚本语言'VBScript.encode'错误解决方法,其实这是一种服务器安全设置,一般虚拟主机都会禁用,需要的朋友可以参考下2014-07-07

8cc1031babc6aff2319f1c6af8544aa0.png

这篇文章主要介绍了Windows搭建Redis服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2017-01-01

0c932a99bb7b6f23c937db507070cc7b.png

IIS无法显示中文名称图片,但可以通过下面的方法,以后iis下用中文命名的图片也可显示了,但不建议用中文命名图片2008-10-10

cca732bf65a93ed2ec0ac80c638460fe.png

这篇文章主要介绍了Windows 2008 服务器安全加固几个注意事项,需要的朋友可以参考下2016-09-09

2d9f31f2af7b675a3d153d2b7f1035a7.png

今天安装好IIS后,设置好IIS默认网站的主目录和文档后,不能正常运行IIS,每次运行都会弹出错误框“发生意外错误0x8ffe2740”,开始以为程序出现了问题,后来发现原来是迅雷软件抢占了IIS的端口80,端口被占就启动不了IIS。2009-02-02

b452cee8ec5cd9e58ab98eba17281e59.png

在我们接触了Windows Server 2008服务器系统后,如果再沿袭以前的管理经验来维护Windows Server 2008服务器时,就会发现许多经验已经失效了。2009-04-04

f4838ec7e2d4da28e0b57d4e852dadd4.png

windows 2003中IIS6的安全配置,需要的朋友可以参考下。2010-11-11

最新评论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_732808.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

询问HTG:在网站中搜索,Google Play替代品以及双重引导入门

Once a week we round up some of the reader letters we’ve answered and share the advice with everyone. This week we’re looking at how to search within web sites, downloading apps from places other than Google Play, and getting started with dual booting op…

tcp流式传输_收听互联网广播以及下载和流式传输免费音乐的最佳网站

tcp流式传输When was the last time you listened to over-the-air FM radio? There are so many options on the internet for listening to thousands of different radio stations in many different genres and for downloading a lot of music for free. 您上次收听无线调…

rss阅读器_赶上您喜欢的网站的最佳免费RSS阅读器

rss阅读器RSS stands for “Really Simple Syndication” or “Rich Site Summary.” It’s a document specification that allows you to easily collect and organize web-based news and information from websites. RSS reader applications allow you to follow your fav…

win 8 metro交互_将您喜欢的网站固定到Windows 8中的Metro Start屏幕

win 8 metro交互It’s easy to pin apps and folders to the Metro Start screen in Windows 8. What about your favorite websites? Windows 7 allows you to pin websites to the Taskbar. It’s also easy to pin your favorite websites to the Windows 8 Metro Start sc…

谷歌浏览器怎么阻止更新_如何在谷歌浏览器中阻止网站

谷歌浏览器怎么阻止更新Do you find yourself accessing Facebook, Twitter, or other distracting websites when you really should be doing something else instead? Block that website in Google Chrome. Other solutions will let you block websites for children at …

不识别字体_设计师最常用的几个字体网站,解决你苦寻字体烦恼!

大家好,又到了和大家一起学习交流的时间了,今天我们给大家推荐几个设计师经常用到的字体网站。这些字体网站是我经常使用到的,很方便,也很好用,什么样的字体都可以找的到。1、 求字体直通车:http://www.qiu…

java学习就去这56个网站论坛(附各种java学习公众号)

2019独角兽企业重金招聘Python工程师标准>>> java学习不是一蹴而就的,重在平时的积累和阅读,下面这些java学习的主流论坛,是洒家花了一周时间“搜刮”过来的,基本包括了所有java学习的最优质网站,所以&…

使用sql服务器发送贺卡_发送免费电子贺卡的最佳网站

使用sql服务器发送贺卡If you’re looking to send eCards to your friends and family, there are hundreds of websites from which to choose. We’ve done the hard work and scouted the best sites with a widest range of eCards for birthdays, holidays, and other sp…

怎么把网页源码家入hexo博客_利用 Github+Hexo 搭建个人博客网站

↑↑↑点击上方“蓝字”,关注“极客猴”如果你喜欢极客猴,可以把我置顶或加为星标题图:by watercolor.illustrations from Instagram阅读文本大概需要 3 分钟。我之前写过一篇文章《利用GithubJeklly搭建个人博客网站》,利用 Gith…

没有为网站或应用程序启用相应的 mime 映射。_六安营销网站搭建注意事项,仪表网站制作,服务为先...

首页 > 新闻中心发布时间:2020-11-08 06:24:47 导读:北京佐助信息科技有限公司为您提供六安营销网站搭建注意事项,仪表网站制作的相关知识与详情: 很自然很难克服这种技术心理障碍 如果发生这种情况,恭喜您,网站可能…

数据量大的sql怎么做优化_初期网站怎么优化?优化设计方案怎么做?才能快速上首页...

原标题:初期网站怎么优化?优化设计方案怎么做?才能快速上首页对于大多数西安网站建设公司来说,企业站的SEO优化比必不可少的,我在这里要强调的是,无论是新站还是老站,在做SEO优化之前&#xff0…

vue转静态页面_10 大静态网站生成工具 | Linux 中国

导读:在寻找部署静态网页的方法吗?这几个开源的静态网站生成工具可以帮你迅速部署界面优美、功能强大的静态网站,无需掌握复杂的 HTML 和 CSS 技能。本文字数:3396,阅读时长大约:5分钟https://linux.cn/art…

判断页面是否有未提交的内容_多域名指向同一网站,301重定向怎么做?为什么要设置404错误页面?...

一、404错误页面404错误:网页不存在或不可访问则URL地址为404;增加用户跳出率,增加搜索引擎蜘蛛丢失率。404错误页面作用:减少用户跳出率,减少搜索引擎蜘蛛丢失率。制作404页面要求:必须有返回网站的链接&a…

判断分辨网站是否伪静态的方法

所有seoer都知道网站的优化最好是静态网页,但是有些时候静态网 hakuci 标签: 伪静态页是无法满足建站需求的,所以伪静态就出现了,而我们浏览其他的网站,看他是不是动态都是看他的网址有没有?之类的符号,而要判断伪静态…

.net core3.0上传文件出现404_论404错误页面对SEO优化的影响

什么是404错误页面:告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开。产生404错误页面原因:1.网页URL生成规则改变。2.网页文件更名或移动位置。3.导入链接拼写错误。注:以上3个为常见…

会员直推奖php程序_网站优化篇:网站程序的选择

在搭建时,我们要选择什么样的程序呢?这个是有讲究的,建议大家使用自己最熟悉的程序,因为不熟悉,我们就要去学习程序的使用,一个程序要几天才能够操作,1天,2天,或又者是7天…

Apache服务部署静态网站

网站服务程序IIS应用于Windows系统中Nginx(特点:系统资源消耗低且并发能力强)Apache可以应用于Linux、Unix、Windows系统中 Apache服务程序部署第1步:把光盘设备中的系统镜像挂载到/media/cdrom目录。第2步:使用Vim文本…

网站安装打包 软件环境检测与安装[二] 下

2019独角兽企业重金招聘Python工程师标准>>> 这一节主要说安装! 1。操作系统 这个应该不用了,没系统也没法运行了! 2。IIS安装 这个是重点,最后面介绍! 3。framework安装 这个也不用了,工具安装…

大型网站技术架构(一)大型网站架构演化

2019独角兽企业重金招聘Python工程师标准>>> 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及ses…