一、限定某个目录禁止解析php 

    并不是所有的网站目录是需要解析php的,比如上传图片的目录等。禁止解析php能够防止被***者以php的方式搞破坏。

1、配置虚拟主机

[root@juispan ~]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

    DocumentRoot "/data/www/123.com"
    ServerName 123.com
    ErrorLog "logs/123.com-error_log"
    CustomLog "logs/123.com-access_log" common
    
        php_admin_flag engine off            ##upload目录中的php不解析
        
        Order allow,deny
        deny from all                        ##所有.php文件拒绝访问
        
    

2、检查重新加载

[root@juispan ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@juispan ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@juispan ~]# ls /data/www/123.com/upload
1.php  upload
[root@juispan ~]# cat /data/www/123.com/upload/1.php 

[root@juispan ~]# cat /data/www/123.com/upload/upload 

3、测试验证

[root@juispan ~]# curl -x127.0.0.1:80 123.com/1.php
123.com
[root@juispan ~]# curl -x127.0.0.1:80 123.com/upload/1.php


403 Forbidden

Forbidden

You don't have permission to access /upload/1.php on this server.

[root@juispan ~]# curl -x127.0.0.1:80 123.com/upload/upload


二、限制user_agent

    User Agent意为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

    cc***是我们经常见到的最常见的一种***,它是***利用所能利用的肉鸡去高频访问你的站点,导致站点不可以被正常的用户所浏览。在***的时候有一个规律的特征,user_agent是一致的。通过对user_agent做限制,可以解决这个问题。

1、配置虚拟主机

[root@juispan ~]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 

    DocumentRoot "/data/www/123.com"
    ServerName 123.com
    ErrorLog "logs/123.com-error_log"
    CustomLog "logs/123.com-access_log" common
    
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]  ##匹配curl的访问 OR=或关系
        RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC] ##NC=忽略大小写
        RewriteRule  .*  -  [F]                            ##F:Forbidden 禁止
    

2、检查重新加载

[root@juispan ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@juispan ~]# /usr/local/apache2.4/bin/apachectl graceful

3、测试验证

[root@juispan ~]# curl -x127.0.0.1:80 123.com


403 Forbidden

Forbidden

You don't have permission to access / on this server.

[root@juispan ~]# curl -A "360Sec" -x127.0.0.1:80 123.com  ##-A指定user-agent 123.com [root@juispan ~]# curl -A "baidu.com" -x127.0.0.1:80 123.com 403 Forbidden

Forbidden

You don't have permission to access / on this server.