博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LAMP]php解析与user_agent
阅读量:7144 次
发布时间:2019-06-29

本文共 3069 字,大约阅读时间需要 10 分钟。

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

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

1、配置虚拟主机

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@juispan ~]
# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
    
DocumentRoot 
"/data/www/123.com"
    
ServerName 123.com
    
ErrorLog 
"logs/123.com-error_log"
    
CustomLog 
"logs/123.com-access_log" 
common
    
<Directory 
/data/www/123
.com
/upload
>
        
php_admin_flag engine off            
##upload目录中的php不解析
        
<FilesMatch (.*)\.php(.*)>
        
Order allow,deny
        
deny from all                        
##所有.php文件拒绝访问
        
<
/FilesMatch
>
    
<
/Directory
>
<
/VirtualHost
>

2、检查重新加载

1
2
3
4
5
6
7
8
9
10
11
12
13
[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 
<?php
echo 
"123.com"
;
?>
[root@juispan ~]
# cat /data/www/123.com/upload/upload 
<?php
echo 
"123.com"
;
?>

3、测试验证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[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
<!DOCTYPE HTML PUBLIC 
"-//IETF//DTD HTML 2.0//EN"
>
<html><
head
>
<title>403 Forbidden<
/title
>
<
/head
><body>
<h1>Forbidden<
/h1
>
<p>You don't have permission to access 
/upload/1
.php
on this server.<br />
<
/p
>
<
/body
><
/html
>
[root@juispan ~]
# curl -x127.0.0.1:80 123.com/upload/upload
<?php
echo 
"123.com"
;
?>

二、限制user_agent

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

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

1、配置虚拟主机

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@juispan ~]
# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 
<VirtualHost *:80>
    
DocumentRoot 
"/data/www/123.com"
    
ServerName 123.com
    
ErrorLog 
"logs/123.com-error_log"
    
CustomLog 
"logs/123.com-access_log" 
common
    
<IfModule mod_rewrite.c>
        
RewriteEngine on
        
RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]  
##匹配curl的访问 OR=或关系
        
RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC] 
##NC=忽略大小写
        
RewriteRule  .*  -  [F]                            
##F:Forbidden 禁止
    
<
/IfModule
>
<
/VirtualHost
>

2、检查重新加载

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

3、测试验证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@juispan ~]
# curl -x127.0.0.1:80 123.com
<!DOCTYPE HTML PUBLIC 
"-//IETF//DTD HTML 2.0//EN"
>
<html><
head
>
<title>403 Forbidden<
/title
>
<
/head
><body>
<h1>Forbidden<
/h1
>
<p>You don't have permission to access /
on this server.<br />
<
/p
>
<
/body
><
/html
>
[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
<!DOCTYPE HTML PUBLIC 
"-//IETF//DTD HTML 2.0//EN"
>
<html><
head
>
<title>403 Forbidden<
/title
>
<
/head
><body>
<h1>Forbidden<
/h1
>
<p>You don't have permission to access /
on this server.<br />
<
/p
>
<
/body
><
/html
>
本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1953440
,如需转载请自行联系原作者
你可能感兴趣的文章
UBOOT到内核到文件系统设置需要注意点
查看>>
卡尔曼滤波简介——4.方差比较
查看>>
mysql -- 预处理语句
查看>>
Silverlight如何调用淘宝API
查看>>
ESP8266- AP模式的使用
查看>>
hdu 1503 LCS输出路径【dp】
查看>>
博客园开张第一天
查看>>
java绘图
查看>>
The Semantic Web, Linked Data and Open Data
查看>>
用PHP逐行读取TXT文件
查看>>
从Android中Activity之间的通信说开来[转]
查看>>
SSH 常用命令
查看>>
模型思维_第1-4课_学习笔记
查看>>
linkin大话面向对象--方法详解
查看>>
Linkin大话Java和internet概念
查看>>
Linux指令--cp
查看>>
.Net多线程
查看>>
【物联网智能网关-01】通过AD采集获取温湿度
查看>>
网络和网络互联
查看>>
Python任意字符集转换
查看>>