0
点赞
收藏
分享

微信扫一扫

.htaccess学习记录

南柯Taylor 2022-02-15 阅读 43

前言:

最开始接触.htaccess文件是upload-las上,当时简单的理解为,在黑名单的情况下,特殊后缀名也被禁了,上传个图片马,排除文件包含的话,就使用.htaccess文件

最开始知道它的前提条件就是:图片马情况下不能文件包含+文件名没被改

网上复制了一个模板,开始用,

但是后来,认真的想想,我不知道FileMatch是什么,还有SetHander..

htaccess文件的功能:

.htaccess和默认配置文件httpd.conf有点像郡主和君王的感觉,前者可以在自己管辖的目录下自定义,郡主的权利肯定也是君王授权的,在httpd.conf文件里面加上一条:

AllowOverride All 

.htassess就可以用了,如果你玩图片马的时候,发现连htaccess文件都用不了,就是httpd.conf文件改成了

AllowOverride None

1,允许/阻止特定的用户或者目录的访问

(存放密码的,可以包含文件的,这些都需要限制用户访问)

在htaccess文件内容:

Order Allow,Deny
Deny from All
Allow from 192.168.0.0/24

使用order命令,有deny和allow两个规则,三行顺序乱了也没事,最终执行的顺序就是,有优先级的,先order,deny最后是allow,整个文件的作用就是,只允许一个网段的访问这个目录(文件夹)


2.创建条件指令,这些指令只有在条件为真时生效

<ifModule mod_php4.c>
 php_value default_charset utf-8
</ifModule>

如果php4的模块模块没有在服务器上运行,就不会将整个网站的默认字符编码设置为utf-8

3.设置默认界面

一般就是访问一个网站直接跳转到的就是熟悉的nidex.php或者其他的

4.隐藏和拒绝文件

以.ht文件开头的都是被默认配置为隐藏的,因为里面有服务器指令、密码等内容

(以下,是在htaccess文件中写入,意思为禁止访问以.ht开头的文件)

<Files ~ "^\.ht">
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

~ :开启正则表达式

^\.ht :以.ht开头的

<Files ~ "^.*\.([Ll][Oo][Gg])">
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

由于正则表达式区分大小写,就是用[ ]来忽略大小写;比如:[Ll] 这个就是忽略l这个英文单词

如果是想是多类文件名都被禁止访问,就是用管道符' | ',可以把它理解为 或

<Files ~ "^.*\.([Ll][Oo][Gg]|[cC][oO][mM][mM][eE][nN][tT])">
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

解决很久的疑惑:

FileMatch是什么,

它就作为一个条件标签,满足后即可执行两个标签里面的

(以下是自己的一些理解,如果有错请指出)

下图是:满足后缀为.css或者.style的文件

就可以被当成php处理

SetHandler 可以强制所有匹配的文件被一个指定的处理器处理

<FilesMatch "\.(css|style)$">
 SetHandler application/x-httpd-php
</FilesMatch>

这个很类似,

下图:

满足目录是/var/www/

就可以使用.htaccess文件的功能

<Directory /var/www/>
	AllowOverride All
</Directory>

任何<Files>语句都可以被<FilesMatch>语句替换

这个来测试一下:


两者都可以将给定的文件扩展名映射到指定的内容类型

AddType application/x-httpd-php .php3 .php5 .phtml
SetHandler application/x-httpd-php .php3 .php5 .phtml

这个就解释了为什么能使用特殊的后缀名的原因了

以上我的问题解决了

学习文章:

https://xz.aliyun.com/t/8267

.htaccess tricks and tips.. part one: tips, tricks, hints, examples; juicy .htaccess information.

举报

相关推荐

0 条评论