用户认证在网络安全中是非常重要的技术之一,通常主要是为了限制非授权用户的非法访问。其实应用比较简单,比如说我一网站,域名是:www.51ww.com,那么我的首页是允许用户访问的,但是假如我的 http://www.51ww.com/admin目录是我的网站管理目录,我不希望别人访问,为了防止非法登陆和一些SQL Injection等攻击,那么我就可以使用用户认证了,别人只要打开http://www.51ww.com/admin目录或者该目录下的任何文件,都要输入登陆用户名和密码才能查看该目录下的内容,那么就起到了一个屏障的作用,很好的防止了一些非法登陆。
简单讲了下原因,那么我们就简单的说一下如何在Apache中实现该功能。(以下的平台是 FreeBSD5.3 + Apache 2.0.52)
我们要实现该功能,需要两个步骤:
1. 建立密码表
假设我们的apache是安装在/usr/local/apache2下面的,那么我们执行下面的操作:
# cd /usr/local/apache2/bin
# ./htpasswd -c admin.txt admin_login // 在当前目录下建立一个admin.txt的密码文件,存储登陆密码,同时用户是admin_login
那么就会提示你输入密码:
New password: ********
Re-type new password: ********
Adding password for user admin_login
就证明添加成功了,并且把用户名和密码存储到了/usr/local/apache2/bin/admin.txt文件里,默认的密码是加密的,不知道是MD5加密还是SHA加密,反正是不可逆的密码。
2. 修改httpd.conf文件
修改Apache的配置文件httpd.conf文件,是为了指定那个文件需要使用该用户名和密码来访问,那么我们就在 /usr/local/apache2/conf/httpd.conf 添加如下内容:
<Directory "/usr/www/admin">
Options MultiViews
AllowOverride None
AuthType Basic
AuthName "Login User"
AuthUserFile /usr/local/apache2/bin/admin.txt
require user admin_login
</Directory>
上面的定义就是,我们的网站根目录是在 /usr/www下面,我们需要进行认证的目录是在 /usr/www/admin 下,进行认识证的密码文件是在 /usr/local/apache2/bin/admin.txt中,用户名是 admin_login, 同时提示的内容是 Login User。
保存httpd.conf后,重新启动Apache,那么我们现在访问 http://www.51ww.com/admin 就会弹出需要输入用户名和密码对话框。
当然,以上的用户认证不止这么简单,还要有比较复杂的应用,可以参考其他文件,比如下面这几篇:
http://5700.blogdriver.com/5700/113165.html
http://www.sd99.com/image/xiaoran/article/81.html
http://www.5ilinux.com/apache03.html
Write By heiyeluren 2005/04/08
分享到:
相关推荐
《Unix系统Apache应用WebAgent安装配置手册》是中国建设银行UAAP项目组编撰的一份技术文档,主要针对在Unix系统上使用Apache服务器集成WebAgent的安装与配置过程进行了详尽的阐述。这份手册旨在帮助系统管理员顺利...
6. **HTTP认证**:为了提高安全性,Apache支持HTTP基本认证和摘要认证,可以对访问资源的用户进行身份验证。 7. **集成Perl**:Perl是一种广泛用于Web开发的语言,Apache可以直接在服务器端执行Perl脚本,无需额外...
开源项目像Apache这样的Web服务器不仅对最终用户开放源代码,使他们能够自由地使用和分发,而且还鼓励全球范围内的开发者贡献代码,共同完善和增强软件功能。这种模式对于促进软件行业的技术进步和创新具有重要作用...
在配置文件中使用Alias指令来实现虚拟目录,比如设置Alias /b /bbs,那么当用户访问***时,实际上是访问了/bbs目录下的内容。 4. Apache目录访问控制 Apache提供了强大的目录访问控制机制。通过配置区块,可以控制...
此外,Apache提供全部源代码,不受限制的使用许可(即开放源码的Apache License),并且支持多种操作系统平台,如Windows、Netware、OS/2以及各种Unix家族。 Apache的功能涵盖了用户的各种需求,如支持DBM数据库的...
Windows下的Apache用户认证与Linux下的相似,唯一的区别是配置文件的路径和数据库的连接方式。 实现步骤: 1. 修改Apache的配置文件C:\Program Files\Apache Group\Apache\conf\httpd.conf,对认证资源所在的目录...
5. 最后,通过`make install`命令将编译好的程序安装至相应位置,通常情况下,Apache会被安装在`/usr/local/apache2`目录下。 ##### 配置文件详解 Apache的核心配置文件是`httpd.conf`,位于`/usr/local/apache2/...
- 基于用户认证的访问控制,包括htpasswd工具的使用及AuthName、AuthType、AuthUserFile等指令的配置。 5. URL重写和代理功能 - mod_rewrite模块的使用,实现URL重定向和重写规则的编写。 - 代理服务器的设置,...
* SSO Module - LemonLDAP:LemonLdap 是 Apache 的一个实现了 Web SSO 的模块,可处理超过 20 万的用户。 * 并发限制模块 - limitipconn:limitipconn 是一个 Apache 的模块,用来限制每个 IP 的并发连接数。支持 ...
8. **权限与访问控制**:使用`Allow`、`Deny`、`Order`等指令控制特定IP或用户组的访问权限,以及基于基本认证和Digest认证的用户验证。 9. **模块管理**:Apache有许多可选模块,如mod_rewrite、mod_security、mod...
通常情况下,可以通过`yum`命令轻松安装Apache。 - 示例命令:`sudo yum install httpd` - **1.2 安装Debian包** - Debian及其衍生系统如Ubuntu也提供了便捷的Apache安装方式。 - 示例命令:`sudo apt-get ...
Tomcat是Apache软件基金会的Jakarta项目的一部分,是执行JSP、Servlet和Java EE Web应用程序的标准实现之一。这个版本(9.0.14)代表了该软件的最新稳定版本,包含了最新的安全更新和性能优化。 在描述中提到的"tar...
Web用户口令配置通常涉及Apache的Basic认证,通过`.htaccess`文件实现用户访问控制。而虚拟主机配置则允许在同一服务器上运行多个独立的网站,通过Host头信息来区分不同的站点。 总的来说,Linux下Apache服务器的...
配置文件通常位于`/etc/apache2/`目录下,主要文件包括`apache2.conf`和`httpd.conf`。编辑这些文件以调整服务器的监听端口、文档根目录、错误日志位置等。 **3. 访问控制、认证与授权** 通过设置`.htaccess`文件...
`htpasswd`工具用于创建和管理用户认证文件。 2. **SSL/TLS**:`mod_ssl`模块提供了HTTPS支持,通过配置SSL证书和密钥,确保数据传输的安全。 五、性能优化 1. **缓存机制**:`mod_cache`和`mod_disk_cache`模块...
5. 配置Proftpd以使用SQL进行用户认证。 6. 设置磁盘配额规则,确保Proftpd读取并应用这些规则。 7. 测试配置,确保所有功能正常工作。 在实施过程中可能会遇到的问题包括但不限于:数据库连接问题、权限配置错误、...
为了实现用户认证和权限管理等功能,需要将 Apache FTP Server 与数据库进行集成。具体步骤如下: 1. **添加 JDBC 驱动**:在 `%FTP_HOME%/common/lib` 目录下添加相应的 JDBC 驱动库,例如 `commons-dbcp-1.2.2....
Apache是世界上最流行、开源的Web服务器软件之一,其强大的功能和灵活性使得它在全球范围内被广泛使用。这篇文档将深入探讨Apache的相关知识,包括其基本概念、安装配置、源码分析以及常用的工具。 首先,让我们从...