使用apache和htaccess对目录访问设置密码保护配置教程

对目录设置密码保护配置说明
我们有时候访问某些网站的时候,要求输入用户名和密码才能访问。这是为了保护隐私,只让经过许可的人访问。
在本教程中主要介绍两种方法,一种是通过apache httpd.conf配置文件对管理后台目录设置密码保护,适用于具有服务器控制权限的用户,另一种是通过.htaccess配置文件对目录设置密码保护,适用于虚拟主机用户。

方法一:apache httpd.conf配置文件对目录设置密码保护教程(下面两个步骤)

-----------------------------------------------------------
一、使用apache htpasswd.exe创建密码文件,命令请看PHP推荐教程:apache htpasswd命令用法详解
apache htpasswd命令用法实例
1、如何利用htpasswd命令添加用户?
在apache安装目录bin下找到htpasswd

[root@fabao365 /home/like]#usr/local/apache/bin/htpasswd -bc .passwd like like123456

  在/home/like目录下生成一个.passwd文件,用户名like,密码:like123456,默认采用MD5加密方式
2、如何在原有密码文件中增加下一个用户?
  htpasswd -b .passwd leapsoul phpdev --------用户名为:leapsoul 密码为: phpdev
  去掉c选项,即可在第一个用户之后添加第二个用户,依此类推
3、如何不更新密码文件,只显示加密后的用户名和密码?

htpasswd -nb leapsoul phpdev

  不更新.passwd文件,只在屏幕上输出用户名和经过加密后的密码
4、如何利用htpasswd命令删除用户名和密码?

htpasswd -D .passwd like #删除用户like

5、如何利用htpasswd命令修改密码?

  htpasswd -D .passwd like #先删除like
  htpasswd -b .passwd like like789 #再重新创建用户like,密码设为like789

  即先使用htpasswd删除命令删除指定用户,再利用htpasswd添加用户命令创建用户即可实现修改密码的功能。
  至此,apache htpasswd命令的具体介绍和使用方法就介绍完了。
-----------------------------------------------------------
二、配置apache文件:
  1、打开apache 配置文件
  2、找到…块,对test目录访问设置密码保护

复制代码

#vi /usr/local/apache/conf/extra/httpd-userdir.conf 
<Directory /data/www/www_fabao365_sys/>            -----------------这里是需要保护的目录
AuthType Basic
AuthName Authorize
AuthUserFile /home/fabxxxxxxxxxxxx/.htpass               绝对路径
require user hlgboboXXXXX                                       --------只有用户hlgboboXXXXX  才能访问
</Directory>

复制代码

3、保存,并重启apache服务器。
  上述配置只允许hlgboboXXXXX 用户以正确的密码登陆才能访问leapsoul/test/目录
注意事项
  1、设置密码保护的目录路径不要使用反斜杠,使用/
  2、密码文件引用需要使用绝对路径
注:我们公司网站就是采用上述认证方式!
******************************************************************************************************************

方法二:使用.htaccess配置文件对目录设置密码保护教程

  1、使用apache htpasswd.exe创建密码文件,命令请看PHP推荐教程:apache htpasswd命令用法详解
  2、在需要保护的目录下创建创建.htaccess配置文件(比如:/www/manage)
  3、在.htaccess配置文件中的写入配置信息,.htaccess配置文件的写法与apache配置文件有所不同,没有Directory

#vi .htaccess
AuthType Basic
AuthName "WORKING CENTER"          #引号中的是说明文字,随便写
AuthUserFile /etc/.passwd        #AuthUserFile指的是保存用户名和密码的文件位置(绝对路径)
Require like likeli                #用户名为like,密码为likeli(如果这行写为Require valid-user表示指定只有.htpasswd文件包含的合法用户才能访问。) 

     4、保存.htaccess配置文件,并将.htaccess配置文件放置

在需要设置密码保护的目录下,比如/data/www/XXXX目录
  上述.htaccess配置功能与第一种方法实现的功能是一样的。
  这时浏览加密的网站就需要输入用户名密码了。
==========================================
.htaccess配置注意事项
  如何开启.htaccess配置功能?
  除了和apache httpd.conf配置一样需要注意的那些问题之外,容易出现的一个错误是如果配置不正确,会出现.htaccess配置文件不起作用的问题,这是因为apache AllowOverride指令,决定了你的.htaccess是否能正常开启并启用。从安全性考虑,apache httpd.conf配置文件中网站根目录的AllowOverride属性一般都配置成不允许任何Override ,即

<Directory />
AllowOverride None
</Directory>

所以要使apache能够正常的读取.htaccess文件的内容,开启.htaccess功能,使.htaccess配置文件中的设置起作用,就必须对网站根目录或者.htaccess 所在目录进行配置,将AllowOverride None更改为AllowOverride All。
  如果你是虚拟主机用户在使用.htaccess配置文件对目录设置密码保护时,请咨询你的主机商是否允许启用.htaccess,并告知网站目录的绝对路径。-----------------------------------------
apache和.htaccess配置选项说明

复制代码

  AuthName - 浏览器弹出登录框时显示的被保护的名字,可自行改动。
  AuthType Basic - 认证的类型。
  AuthUserFile - 指向apache htpasswd.exe生成的密码文件,必须是绝对路径
  Require - 设置可以对被保护目录进行访问的用户。
  require valid-user -就是指在 .passwd 中的任何一位用户都可以访问。
  require user username 或 require user username1 username2 username3 - 指定.passwd中的特定的用户可以访问被保护的目录。
  require group groupname - 指定用户组来访问被保护目录。
  设置组的方法是再创建一个.htgroup配置文件:
    groupname1: username1 username2 username3
    groupname2: username1 username3 username4
  再在apache httpd.conf配置文件或者.htaccess配置文件中添加:
  AuthGroupFile C:/.htgroup

复制代码

至此在本篇PHP教程中介绍使用apache和htaccess对目录设置密码保护配置方法就完成了,这两种方法对提升网站目录的安全性非常有用,特别是htaccess的安全性非常高,虚拟主机用户可以考虑使用。  

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

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

相关文章

LeetCode 700.二叉搜索树中的搜索

LeetCode 700.二叉搜索树中的搜索 1、题目 题目链接&#xff1a;700. 二叉搜索树中的搜索 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在&#xff0c;则…

Docker入门指南:Docker容器的使用(三)

&#x1f340; 前言 博客地址&#xff1a; CSDN&#xff1a;https://blog.csdn.net/powerbiubiu &#x1f44b; 简介 在本章节中&#xff0c;将深入探讨 Docker 容器的概念&#xff0c;以及容器的使用。 &#x1f4d6; 正文 1 什么是容器 1.1 Docker容器的介绍 Docker 容…

使用Gin编写Web API项目并自动化文档

最近需要使用Go写一个Web API项目&#xff0c;可以使用Beego与Gin来写此类项目&#xff0c;前文使用Beego创建API项目并自动化文档介绍了使用Beego来创建的Web API项目并自动化文档的方法。本文就介绍一下使用Gin来编写Web API项目并自动化文档。 一、创建项目 在创建Beego项…

栈与队列OJ题【括号适配问题】【用队列实现栈】【用栈实现队列】【设计循环队列】

一.有效的括号 ​​​OJ链接 这一道题我们就可以用栈来解决&#xff1a; 不了解栈的可以看我的上一篇博客。 typedef char STDataType; //用数组来实现栈 typedef struct stack {STDataType* a;int capacity;int top; }ST; void STInit(ST* pst) {assert(pst);pst->a NU…

基于SSM的理发店会员管理系统的设计和实现(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的理发店会员管理系统的设计和实现&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0…

泛微E9开发 添加多个多选框,实现单选框的效果

利用多个多选框实现单选框的效果 1、功能背景2、展示效果3、实现效果 1、功能背景 如下图所示&#xff0c;在表单中新增四个“选择框-复选框”类型的字段&#xff0c;并且设置其中的选项&#xff0c;每个多选框都只有一个选项&#xff0c;通过代码块实现单选框的效果 1.显示模…

ICode国际青少年编程竞赛- Python-5级训练场-综合练习7

ICode国际青少年编程竞赛- Python-5级训练场-综合练习7 1、 for i in range(6):while not Flyer[i].disappear():wait()Spaceship.step(2 2 * i)Spaceship.turnRight()2、 def get(a, b, c, d):for i in (a, b, c, d):Dev.step(i)if i ! 0:Dev.turnRight() get(3, 3, 5, -4)…

【CSP CCF记录】202206-2 寻宝!大冒险!

题目 过程 思路 1.绿化图坐标边界太大&#xff0c;不能直接用矩阵表示&#xff0c;可以用一个二维数组存储有树坐标的x,y值。 定义两个数组&#xff1a;绿化图arr[1005][2]、宝藏图数组b[55][55] 2. 依据条件&#xff0c;从绿化图中第一棵树的坐标开始区域遍历。统计绿化图…

spring cloud微服务example 入门第一个例子

新建Maven工程 删除src目录&#xff0c;修改poml.xml <modelVersion>4.0.0</modelVersion><groupId>org.example</groupId> <artifactId>SpringCloud_example</artifactId> <version>1.0-SNAPSHOT</version> <packaging&g…

物联网五层架构分析

物联网五层架构分析 随着科技的迅速发展&#xff0c;物联网&#xff08;IoT&#xff09;作为日常生活中不可或缺的一部分&#xff0c;已融入人们的生活和工作中。物联网五层架构&#xff0c;包括感知层、网络层、数据层、应用层和业务层&#xff0c;扮演着关键的角色。 感知层 …

WIFI模块的AT指令联网数据交互--第十天

1.1.蓝牙&#xff0c;ESP-01s&#xff0c;Zigbee, NB-Iot等通信模块都是基于AT指令的设计 初始配置和验证 ESP-01s出厂波特率正常是115200, 注意&#xff1a;AT指令&#xff0c;控制类都要加回车&#xff0c;数据传输时不加回车 1.2.上电后&#xff0c;通过串口输出一串系统…

【运维】如何安装ubuntu-24.04? 如何分区?

如何安装ubuntu-24.04&#xff1f;如何分区 经过一系列折腾&#xff0c;我总结了这几点&#xff1a; &#xff08;1&#xff09;在BIOS启动设置里&#xff0c;如果是GPT的硬盘格式&#xff0c;那么对应的就是UEFI的启动方式&#xff1b;如果是MBR的硬盘格式&#xff0c;那么对…

【Spring】GoF 之代理模式

一、代理模式 在 Java 程序中的代理模式的作用&#xff1a; 当一个对象需要受到保护的时候&#xff0c;可以考虑使用代理对象去完成某个行为 需要给某个对象的功能进行功能增强的时候&#xff0c;可以考虑找一个代理进行增强 A 对象无法和 B 对象直接交互时&#xff0c;也可以…

C# 使用Queue高效检索树行数据符合条件的数据,并返回完整树形数据示例

最近有项目需要加载大型树数据&#xff0c;数据大概3W条 后端使用C# NET6 前端使用Vue3 elementuiplus 虚拟tree 》解决大型树数据加载 遇到的问题是后端在检索数据时&#xff0c;要返回匹配数据的完整树目录 1.因为单条数据没有存放完整路径&#xff0c;需要通过父级ID逐…

【ARM Cortex-M 系列 2.1 -- Cortex-M7 Debug system registers】

请阅读【嵌入式开发学习必备专栏】 文章目录 Debug system registers中断控制状态寄存器&#xff08;ICSR&#xff09;Debug Halting Control and Status Register, DHCSR Debug 寄存器DCRSR与DCRDRCPU 寄存器读操作CPU 寄存器写操作CPU 寄存器选择CPU 寄存器读写示例 调试故障…

Ubuntu安装VScode

Ubuntu安装VScode 前言&#xff1a; 1、Ubuntu安装VScode比较方便 2、我更喜欢source insight 1、获取到linux版本的VScode安装包 VSCode 下载地址是&#xff1a;https://code.visualstudio.com/ 2、得到安装包 3、复制到ubuntu中&#xff0c;使用命令安装 sudo dpkg -i cod…

安卓短视频一键搬运软件_V1.5.2 高级版

短视频一键搬运app是一款非常实用的视频处理软件&#xff0c;拥有各种各样的视频处理功能&#xff0c;可以帮助用户进行视频的多项处理&#xff0c;首先用户可以在这里为视频去除水印&#xff0c;打开视频文件过后&#xff0c;再把视频里面的水印内容框选出来&#xff0c;这样就…

第三课,python基础语法(二),基本算术运算符、3种数据类型、变量命名规则

一&#xff0c;基本算术运算 数学中&#xff1a;&#xff0c;-&#xff0c;&#xff0c; *小练习 请在程序中&#xff0c;定义如下变量&#xff1a; 钱包余额(变量名&#xff1a;money)&#xff0c;初始余额50 请通过程序计算&#xff0c;再购买了&#xff1a; 冰淇淋10元可…

【C语言/数据结构】栈:从概念到两种存储结构的实现

目录 一、栈的概念 二、栈的两种实现方式 1.顺序表实现栈 2.链表实现栈 三、栈的顺序存储结构及其实现 1.栈的声明 2.栈的初始化 3.栈的销毁 4.栈的压栈 5.栈的弹栈 6.栈的判空 7.返回栈顶元素 8.返回栈的长度 四、栈的链式存储结构及其实现 1.栈的声明 2.栈的…

[C++核心编程-03]----C++函数提高学习

目录 引言 正文 01-函数提升简介 02-函数默认参数 03-函数占位参数 04-函数重载 05-函数重载的注意事项 总结 引言 函数在C编程中扮演着至关重要的角色&#xff0c;通过合理使用函数&#xff0c;可以提高程序的结构性、灵活性、可读性和维护性。因此&…