RHEL 5服务篇—使用Apache搭建web网站(二)客户端访问控制

本文涉及的产品
访问控制,不限时长
简介:

     为了更好的控制对网站资源的访问,我可以为特定的网站目录添加访问授权。我们可以分别通过限制客户机的地址和用户访问权限两方面控制用户的访问。那么我们就分别讲解一下这两种控制方式,这两种控制方式都应用于httpd.conf配置文件中的目录区域<Directory 目录位置>......</Directory>范围内。


客户机地址限制

通过配置项order,Deny from,Allow from,根据客户机的主机名或IP地址来限制是否客户端访问。使用Order配置项时,可以设置为“allow,deny”或“deny,allow”,以决定主机应用“允许”,“拒绝”策略的先后顺序。

allow,deny:先允许后拒绝,默认拒绝所有未明确允许的客户机地址。

deny,allow:先拒绝后允许,默认允许所有未明确拒绝的客户机地址。

使用Allow和Deny配置项时,需要设置客户机地址以构成完整的限制策略,地址的形式可以是IP地址,网络地址,主机名,域名 ,使用名称“all”时表示任意地址。

如下设置网站的根目录为所有人可以访问。

[root@localhost /]#vim /usr/local/httpd/conf/httpd.conf

.....//省略部分内容

<Directory "/usr/local/httpd/htdocs">

......//省略部分内容

Order allow,deny   //先允许后拒绝

Allow from all        //允许所有地址

</Directory>

.....//省略部分内容

我们也可以拒绝某一个IP地址或者是某一个网段,设置如下:

[root@localhost /]#vim /usr/local/httpd/conf/httpd.conf

......//省略部分内容

<Directory ''/usr/local/httpd/htdocs">

......//省略部分内容

Order deny,allow    //先拒绝后允许

Deny from 192.168.1.1 192.168.3.0/24   //拒绝192.168.1.1和192.168.3.0网段

</Directory>

......//省略部分内容


用户授权限制

httpd服务器支持使用摘要认证和基本认证两种方式。使用摘要认证需要在编译httpd之前添加“--enable-auth-digest”选项,但并不是所有的浏览器都支持摘要认证;而基本认证是httpd服务的基本功能,不需要预先配置特别的选项,所以在此主要讲解基本认证方式。

基于用户的访问控制包含认证和授权两个过程,

认证:指识别用户的身份的过程。

授权:允许特定用户访问特定目录区域的过程。

1、创建用户认证数据文件

httpd的基本认证通过校验用户名,密码组合来判断是否允许用户访问。使用专门的htpasswd工具程序,可以创建授权用户数据文件,并维护其中的用户账户。

使用htpasswd工具时,必须制定用户数据文件的地址,添加“-c”选项表示新建此文件。

如下创建一个名为webadmin的用户

[root@localhost /]#/usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin

New password:   //提示输入密码

Re-type new password:    //提示再次输入密码

Adding password for user webadmin

若省略“-c”选项,则表示指定的用户数据文件已经存在,用于添加新的用户或修改现有的用户的密码。

注:使用htpasswd命令创建的用户文件和用户不是系统用户,而是专门供httpd服务客户端使用的。

2、添加用户授权配置

有了授权用户账户以后,还需要修改httpd.conf配置文件,在特定的目录区域中添加授权配置,以启用基本认证并设置允许那些用户访问。

列如:给网站的根目录设置只允许.awspwd文件中的用户访问,其余用户不能访问。

[root@localhost /]#vim /usr/local/httpd/conf/httpd.conf

......//省略部分内容

<Directory “/usr/local/httpd/htdocs”>

......//省略部分内容

AuthName "AWStats Directory"

AuthType Basic

AuthUserFile /usr/local/httpd/conf/.awspwd

require valid-user

</Directory>

......//省略部分内容

在上述配置内容中,相关配置项的含义如下:

AuthName:定义受保护的领域名称。

AuthType:设置认证的类型,Basic表示基本认证。

AuthUserFile:设置用于保存用户账户,密码的认证文件路径。

require:要求只有认证文件中的合法用户才能访问,valid-user表示所有合法用户,若授权给单个用户,可改为指定的用户名(如:webamdin)

3、验证用户访问授权

再次访问web站点时则提示需要输入用户名和密码,只有输入正确的用户名和密码才可以访问。

101542371.jpg



本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1214349,如需转载请自行联系原作者

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
18天前
|
Java Apache C++
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码
Thrift 是一个轻量级、跨语言的远程服务调用框架,由 Facebook 开发并贡献给 Apache。它通过 IDL 生成多种语言的 RPC 服务端和客户端代码,支持 C++、Java、Python 等。Thrift 的主要特点包括开发速度快、接口维护简单、学习成本低和多语言支持。广泛应用于 Cassandra、Hadoop 等开源项目及 Facebook、百度等公司。
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码
|
1月前
|
Web App开发 前端开发 JavaScript
Web开发者必收藏的10个实用网站,你还没收藏吗?
将这些网站收藏起来,定期访问,使它们成为您日常工作的一部分,助您在快速发展的 Web 开发领域保持领先。
102 2
Web开发者必收藏的10个实用网站,你还没收藏吗?
|
21天前
|
人工智能 搜索推荐 PHP
PHP在Web开发中的璀璨星辰:构建动态网站的幕后英雄###
【10月更文挑战第25天】 本文将带您穿越至PHP的宇宙,揭示其作为Web开发常青树的奥秘。通过生动实例与深入解析,展现PHP如何以简便、高效、灵活的姿态,赋能开发者打造动态交互式网站,同时不忘探讨其在新时代技术浪潮中面临的挑战与机遇,激发对技术创新与应用的无限思考。 ###
32 1
WK
|
21天前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
36 0
|
3月前
|
存储 前端开发 搜索推荐
Web前端网站(三)- 记事本
【8月更文挑战第8天】多种颜色搭配的动态粒子背景特效(粒子会随着鼠标的移动进行吸附,好看又好玩),左右摆动的文字特效,并且使用localStorage进行数据的持久化存储,使记事本的内容可以长期的保存在浏览器中,功能包括添加留言、显示留言、删除留言。每一行代码都有详细注释~~~大家可以尽情创作
65 5
Web前端网站(三)- 记事本
|
3月前
|
前端开发 搜索推荐 JavaScript
Web前端网站(四)- 音乐播放器
【8月更文挑战第9天】页面整体色调背景采用柔和渐变的方式呈现,与主页面的“毒药水式”色彩搭配形成了强烈的对比;周边花瓣缓缓飘落到水面之上形成涟漪。整体给人一种温馨、浪漫的感觉,还可以通过中间的3个按钮来控制音乐的切换和播放效果。每一行代码都有详细注释~~~大家可以尽情创作
42 2
Web前端网站(四)- 音乐播放器
|
3月前
|
前端开发 安全 JavaScript
PHP与现代Web开发:探索PHP在构建动态网站中的角色和优势
【8月更文挑战第29天】 在数字时代的浪潮下,PHP以其独特的灵活性、易用性以及强大的社区支持,持续成为Web开发领域的重要力量。本文将深入探讨PHP如何适应现代Web开发的需求,通过具体示例揭示PHP的实际应用,并分析其在面对新兴技术挑战时的应对策略。我们将一探究竟,PHP如何在众多编程语言中脱颖而出,成为许多开发者和企业的首选。
|
5月前
|
存储 Apache 文件存储
在Apache环境下为Web网站增设访问控制:实战指南
在Apache服务器上保护网站资源涉及启用访问控制模块(`mod_authz_core`和`mod_auth_basic`),在`.htaccess`或`httpd.conf`中设定权限,如限制对特定目录的访问。创建`.htpasswd`文件存储用户名和密码,并使用`htpasswd`工具管理用户。完成配置后重启Apache服务,访问受限目录时需提供有效的用户名和密码。对于高安全性需求,可考虑更复杂的认证方法。【6月更文挑战第20天】
321 4
|
5月前
|
安全 Ubuntu 应用服务中间件
NGINX环境下实现Web网站访问控制的实战指南
在NGINX中设置基于IP的访问控制可提升网站安全性。步骤包括安装NGINX、备份配置文件、编辑`/etc/nginx/sites-available/default`,添加`allow`和`deny`指令限制特定IP访问,如`allow 192.168.1.100; deny all;`,然后测试配置并重启服务。成功后,仅允许的IP能访问网站,否则会收到403错误。这为Web安全提供基础保障,还可扩展实现更多高级控制策略。【6月更文挑战第20天】
617 3
|
JavaScript 前端开发 API
【Web API系列教程】3.6 — 实战:处理数据(创建JavaScript客户端)
在本节,你将使用HTML、JavaScript和Knockout.js库为应用程序创建客户端。我们将按如下步骤建立客户端应用: 1, 展示books列表 2, 展示book详细信息 3, 添加一本新书 Knockout.js库使用了模型-视图-视图模型(MVVM)模式: 1, 模型是在业务域(在本例中是books和authors)中数据在服务器端的表现形式。
1057 0

推荐镜像

更多
下一篇
无影云桌面