[LAMP]php解析与user_agent

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介:

一、限定某个目录禁止解析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 ,如需转载请自行联系原作者
相关文章
|
28天前
|
JSON PHP 数据格式
PHP解析配置文件的常用方法
INI文件是最常见的配置文件格式之一。
46 12
|
1月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发深度解析####
本文作为技术性文章,深入探讨了PHP与MySQL结合在动态网站开发中的应用实践,从环境搭建到具体案例实现,旨在为开发者提供一套详尽的实战指南。不同于常规摘要仅概述内容,本文将以“手把手”的教学方式,引导读者逐步构建一个功能完备的动态网站,涵盖前端用户界面设计、后端逻辑处理及数据库高效管理等关键环节,确保读者能够全面掌握PHP与MySQL在动态网站开发中的精髓。 ####
|
1月前
|
PHP 开发者
PHP 7新特性深度解析及其最佳实践
【10月更文挑战第31天】本文将深入探讨PHP 7带来的革新,从性能提升到语法改进,再到错误处理机制的变革。我们将通过实际代码示例,展示如何高效利用这些新特性来编写更加健壮和高效的PHP应用。无论你是PHP新手还是资深开发者,这篇文章都将为你打开一扇窗,让你看到PHP 7的强大之处。
|
1月前
|
安全 编译器 PHP
PHP 8新特性解析与实践应用####
————探索PHP 8的创新功能及其在现代Web开发中的实际应用
|
1月前
|
前端开发 中间件 PHP
PHP框架深度解析:Laravel的魔力与实战应用####
【10月更文挑战第31天】 本文作为一篇技术深度好文,旨在揭开PHP领域璀璨明星——Laravel框架的神秘面纱。不同于常规摘要的概括性介绍,本文将直接以一段引人入胜的技术剖析开场,随后通过具体代码示例和实战案例,逐步引导读者领略Laravel在简化开发流程、提升代码质量及促进团队协作方面的卓越能力。无论你是PHP初学者渴望深入了解现代开发范式,还是经验丰富的开发者寻求优化项目架构的灵感,本文都将为你提供宝贵的见解与实践指导。 ####
|
23天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
60 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
72 0
|
2月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
57 0
|
2月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
64 0
|
2月前
|
安全 Java 程序员
Collection-Stack&Queue源码解析
Collection-Stack&Queue源码解析
85 0

推荐镜像

更多