首页 > 其他分享 >http配置文件说明--站点访问控制常见机制

http配置文件说明--站点访问控制常见机制

时间:2022-08-18 17:55:15浏览次数:49  
标签:http 配置文件 访问 -- IP Require AllowOverride 访问控制 htaccess

8、站点访问控制常见机制
可基于两种机制指明对哪些资源进行何种访问控制
访问控制机制有两种:客户端来源地址,用户账号


文件系统路径:
	<Directory “/path">...</Directory>     目录
	<File “/path/file”> ...</File>         文件
	<FileMatch "PATTERN">...</FileMatch>   文件表达式
URL路径:
	<Location "">...</Location>
	<LocationMatch "">...</LocationMatch> 
	
	示例:
	<FilesMatch "\.(gif|jpe?g|png)$">
	<Files “?at.*”> 通配符
	<Location /status> <LocationMatch "/(extra|special)/data">	


参数说明:1.Options 2.AllowOverride 3.Require

(1) Options:后跟1个或多个以空白字符分隔的选项列表
 在选项前的+,- 表示增加或删除指定选项
 常见选项:
	Indexes:指明的URL路径下不存在与定义的主页面资源相符的资源文件时,返回索引列表给用户,默认不显示符号链接。
	FollowSymLinks:允许访问符号链接文件所指向的源文件,(DocumentRoot里可能有软连接路径。)
	None:全部禁用
	All: 全部允许
	示例:
	<Directory /var/www/html/>
	    Require all granted
		Options Indexes FollowSymLinks
	</Directory>

	
(2) AllowOverride 
与访问控制相关的哪些指令可以放在指定目录下的.htaccess(由AccessFileName指定)文件中,覆盖之前的配置指令
cat /var/www/html/.htaccess
	Options Indexes FollowSymLinks

在配置文件中对启用.htaccess设置授权。
 1.只对<directory>语句有效 2.针对不同的文件夹设置不同的功能。
	AllowOverride All          #.htaccess中所有指令都有效
	AllowOverride None         #.htaccess 文件无效,服务器不会读取.htaccess文件
	AllowOverride AuthConfig   #.htaccess 文件中,除了AuthConfig 其它指令都无法生效
	
	<Directory /var/www/html/>
	Require all granted
	#Options Indexes FollowSymLinks #这项已在.htaccess设置了。
	AllowOverride All
	</Directory>

	<Files "*.conf">
		Require all denied
	</Files>


(3) 基于IP的访问控制:
	无明确授权的目录,默认拒绝
	允许所有主机访问:Require all granted
	拒绝所有主机访问:Require all denied
	控制特定的IP访问:
		Require ip IPADDR/mask:授权指定来源的IP访问
		Require not ip IPADDR:拒绝特定的IP访问
	控制特定的主机访问:
		Require host HOSTNAME:授权特定主机访问
		Require not host HOSTNAME:拒绝
	HOSTNAME:
		FQDN:特定主机
		domin.tld:指定域名下的所有主机	



#禁止访问配置文件
<Files "*.conf">
	Require all denied
</Files>

#不能有失败,至少有一个成功匹配才成功,即失败优先
<directory /data/www/>
	<RequireAll> 
		Require all granted
		Require not ip 172.16.1.1 拒绝特定IP
	</RequireAll> 
</directory>

#多个语句有一个成功,则成功,即成功优先
 <directory /data/www/>
	<RequireAny>
		Require all denied
		require ip 172.16.1.1 允许特定IP
	</RequireAny>
 </directory>
	
远程客户端和用户验证的控制(用户验证的控制有基于IP/用户的访问控制的两种)
	Satisfy ALL|Any
	ALL 客户机IP和用户验证都需要通过才可以
	Any 客户机IP和用户验证,有一个满足即可
	示例:
	Require valid-user
	<RequireAll> 
		Require all granted
		Require not ip 172.16.1.1
	 </RequireAll>
	Satisfy Any

  

标签:http,配置文件,访问,--,IP,Require,AllowOverride,访问控制,htaccess
From: https://www.cnblogs.com/Yuanbangchen/p/16599599.html

相关文章

  • 欧拉计划
    \(\texttt{Problem1}\)\(\texttt{Describe}\)在小于\(10\)的自然数中,\(3\)或\(5\)的倍数有\(3,5,6\)和\(9\),这些数之和是\(23\)。求小于\(1000\)的自然数中......
  • go template语法
    gotemplate模板的语法当前对象{{.}}表示当前对象,当前对象针对于作用域而言例子1:当前传入字符串对象,{{.}}直接表示字符串这里的{{.}}就是传入的helloworld......
  • IntelliJ IDEA 2022解决控制台中文乱码
    1.打开设置单击Settings  2.在Editor下面FileEncodings中的projectencoding设置为GBK其他设置为UTF-8  3.在General下面的Console里DefaultEncoding更改为......
  • 用cube-ui的scroll实现下拉获取历史记录的功能,并且实现类似于微信的下拉保留当前位置
    1.下拉获取历史记录数据historyList2.页面上的对话列表数据messageList3.将历史记录的数据合并到对话数据上this.messageList= [...historyList,...this.message......
  • Communications link failure 解决参考
    1.先用账号密码连接数据库,看是否能正常连接2.配置文件是否正确3.高版本的mysql需要设置时区,serverTimezone=Asia/Shanghai,随便哪里的时区都行4.可能高版本的设置完时区......
  • 2022巅峰极客初赛 Misc wp
    一开始做misc1没啥思路,转去misc2,结果一下子给电脑搞废了,太哈人了,以后对注册表都有心理阴影了,还好队友给力,躺进决赛,这里的wp都是今早修完电脑后再复现的。。。easy_Forensi......
  • 一组菜单数据中找到三层菜单名称一样的情况下拼接二级菜单的问题
    同事遇到一个一组菜单数据中找到三层菜单名称一样的情况下拼接二级菜单的问题.比如数据是这样的  最终结果应该是这样他采用了好多次循环来解决这个问题,先循环拿到......
  • wasm的 surface.makeSurface
    wasm的surface.makeSurfacejs中:  CanvasKit.Surface.prototype.makeSurface=function(imageInfo){  CanvasKit.setCurrentContext(this._context);  var......
  • #10004. 「一本通 1.1 例 5」智力大冲浪
    #include<bits/stdc++.h>usingnamespacestd;structnode{ intw,t;};boolcompare(constnode&x,constnode&y){ returnx.w>y.w;}classSolution{ public......
  • TairSearch:加速多列索引查询
    简介: 互联网及传统行业应用服务的关键数据一般存储在MySQL这类的关系型数据库中。如需缓解数据库访问压力,可引入Redis等缓存系统承担热数据的查询,以此提升查询效能。然而......