系统运输
有两种类型的Apache访问控制:目录限制和文件限制。 依次说明这两种访问控制方式。 我们的虚拟机有两个IP。 一个是127.0.0.1,另一个是192.168.147.132。 如果您不想让其中一个IP访问我们的网站,例如127.0.0.1。 (其实主要是限制别人,而不是限制自己。 这里只是举了个例子)
编辑虚拟主机配置文件
[ root @ centos6~~] # vim/usr/local/Apache2/conf/extra/httpd-vhosts.conf
127.0.0.1添加访问控制方法以限制对站点根目录的访问:
……
ServerName www.test.com
ServerAlias www.aaa.com
ServerAlias www.bbb.com
目录/数据/www
AllowOverride None
选项none
Order allow,deny
Allow from all
Deny from 127.0.0.1
/Directory
IfModule mod_rewrite.c
RewriteEngine on
rewrite cond % { http _ host } ^ www.AAA.com $ [ or ]
rewrite cond % { http _ host } ^ www.BBB.com $
RewriteRule ^/(.* ) $ http://www.test.com/$1 [R=301,L]
/IfModule
……
按顺序匹配。 以下Allow行和Deny行的优先级无关。 在这里,Order首先看到allow,然后看到deny,
所以在允许所有IP访问后,再禁止127.0.0.1的访问,最终禁止127.0.0.1。
如果在确认没有错误后重新加载配置文件,则拒绝访问127.0.0.1,并注意到192.168.147.132仍然可以访问
[root@centos6 ~]# apachectl -t
Syntax OK
[ root @ centos6~~] # apachectl graceful
[ root @ centos6~ ] # curl-x 127.0.0.1:80-iwww.test.com
HTTP/1.1 403 Forbidden
Date: Sat,14 Jan 2017 16:18:57 GMT
server:Apache/2.2.9(UNIX ) PHP/5.4.36
Content-Type: text/html; charset=iso-8859-1
[ root @ centos6~ ] # curl-x 192.168.147.132:80-iwww.test.com
HTTP/1.1 301 Moved Permanently
Date: Sat,14 Jan 2017 16:19:07 GMT
server:Apache/2.2.9(UNIX ) PHP/5.4.36
X-Powered-By: PHP/5.4.36
location: forum.php
Cache-Control: max-age=0
Expires: Sat,14 Jan 2017 16:19:07 GMT
Content-Type: text/html
[ root @ centos 6至] # curl-x 192.168.147.132:80-iwww.test.com/forum.PHP
HTTP/1.1 200 OK
Date: Sat,14 Jan 2017 16:19:26 GMT
server:Apache/2.2.9(UNIX ) PHP/5.4.36
X-Powered-By: PHP/5.4.36
set-cookie:STI8_ 2132 _ salt key=nwitwcjx; expires=Mon,13-Feb-2017 16:19:26 GMT; path=/; httponly
set-cookie:STI8_ 2132 _ last visit=1484407166; expires=Mon,13-Feb-2017 16:19:26 GMT; path=/
set-cookie:STI8_ 2132 _ sid=b refer; expires=Sun,15-Jan-2017 16:19:26 GMT; path=/
set-cookie:STI8_ 2132 _ lastact=1484410766 forum.PHP; expires=Sun,15-Jan-2017 16:19:26 GMT; path=/
set-cookie:STI8_ 2132 _ online usernum=1; expires=Sat,14-Jan-2017 16:24:26 GMT; path=/
set-cookie:STI8_ 2132 _ sid=b refer; expires=Sun,15-Jan-2017 16:19:26 GMT; path=/
Cache-Control: max-age=0
Expires: Sat,14 Jan 2017 16:19:26 GMT
Content-Type: text/html; charset=gbk
我们网站的后台一定不能开放访问任何IP。 例如,如果本机只允许登录后台,就需要在后台管理admin.php上建立白名单。 通常,所有人都能看到这个页面。 这是不合适的
虚拟主机只允许对配置文件127.0.0.1中的admin.php进行访问
……
目录/数据/www
AllowOverride None
选项none
Order allow,deny
Allow from all
Deny from 127.0.0.1
/Directory
文件匹配(.* ) admin (.* ) )。
Order deny,allow
Deny from all
Allow from 127.0.0.1
/filesmatch
IfModule mod_rewrite.c
RewriteEngine on
rewrite cond % { http _ host } ^ www.AAA.com $ [ or ]
rewrite cond % { http _ host } ^ www.BBB.com $
RewriteRule ^/(.* ) $ http://www.test.com/$1 [R=301,L]
/IfModule
……
如果在确认没有错误后重新加载配置文件,则表明当前只有127.0.0.1可以登录到后台管理,并且从192.168.147.132开始无法访问后台管理,这样就安全了
[root@centos6 ~]# apachectl -t
Syntax OK
[ root @ centos6~~] # apachectl graceful
[ root @ centos6~ ] # curl-x 192.168.147.132:80-iwww.test.com/admin.PHP
HTTP/1.1 403 Forbidden
Date: Sat,14 Jan 2017 16:36:15 GMT
server:Apache/2.2.9(UNIX ) PHP/5.4.36
Content-Type: text/html; charset=iso-8859-1
[ root @ centos6~ ] # curl-x 127.0.0.1:80-iwww.test.com/admin.PHP
HTTP/1.1 200 OK
Date: Sat,14 Jan 2017 16:36:25 GMT
server:Apache/2.2.9(UNIX ) PHP/5.4.36
X-Powered-By: PHP/5.4.36
set-cookie:STI8_ 2132 _ salt key=zva 82 a 89; expires=Mon,13-Feb-2017 16:36:25 GMT; path=/; httponly
set-cookie:STI8_ 2132 _ last visit=1484408185; expires=Mon,13-Feb-2017 16:36:25 GMT; path=/
set-cookie:STI8_ 2132 _ sid=q e5k co; expires=Sun,15-Jan-2017 16:36:25 GMT; path=/
set-cookie:STI8_ 2132 _ lastact=1484411785 admin.PHP; expires=Sun,15-Jan-2017 16:36:25 GMT; path=/
Cache-Control: max-age=0
Expires: Sat,14 Jan 2017 16:36:25 GMT
Content-Type: text/html; charset=gbk
详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn