雲計算學習路線教程大綱課堂筆記:Apache訪問控制:
========================================================
一、目錄訪問控制的類型
-
設置目錄特性
-
基於主機
- 基於用戶
二、基於主機的訪問控制
準備環境
[root@aliyun ~]# rm -rf /var/www/edusoho/web/download/*
[root@aliyun ~]# echo "download....." > /var/www/edusoho/web/download/1.html
僅用於http 2.4+
案例1:允許所有主機訪問
<Directory "/var/www/edusoho/web/download">
AllowOverride None
Require all granted
</Directory>
AllowOverride All 允許子目中的 .htaccess 中的設置覆蓋當前設置
AllowOverride None 不允許子目中的 .htaccess 中的設置覆蓋當前設置
案例2:只允許網段192.168.5.0/24、192.168.10.0/24訪問
<Directory "/var/www/edusoho/web/download">
AllowOverride None
Require ip 202.106.0.0/24
Require ip 114.248.160.203
</Directory>
案例3:只拒絕某些主機訪問
<Directory "/var/www/edusoho/web/download">
AllowOverride None
<RequireAll>
Require not ip 114.248.160.203
Require all granted
</RequireAll>
</Directory>
三、基於用戶的訪問:訪問時需要用戶名和密碼
==使用無格式文本文件
- 建立口令文件
[root@tianyun ~]# htpasswd -cm /etc/httpd/conf/webpasswd user1
New password: 輸入密碼
Re-type new password: 再輸入密碼
Adding password for user user1
-c 創建
-m MD5
[root@tianyun ~]# cat /etc/httpd/conf/webpasswd
user1:$apr1$tkLV4/..$BL2nd2Wbx4I5ZAf5uv8ZS.
[root@tianyun ~]# htpasswd -m /etc/httpd/conf/webpasswd user2
- 配置支持認證
<Directory "/var/www/edusoho/web/download">
AllowOverride None
Require all granted
AuthType Basic
AuthName "welcome to tianyun.me..."
AuthUserFile /etc/httpd/webpasswd
Require valid-user
</Directory>
四、針對文件的訪問控制
不允許在/var/www/edusoho/web/upload目錄中執行.php文件
<Directory /webroot/baidu/upload>
AllowOverride None
Require all granted
<Files ~ ".php$" >
Order allow,deny
Deny from all
</Files>
</Directory>