LAMP-php解析与user_agent

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

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

1、配置虚拟主机

[[email protected] ~]# 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、检查重新加载

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful
[[email protected] ~]# ls /data/www/123.com/upload
1.php  upload
[[email protected] ~]# cat /data/www/123.com/upload/1.php 
<?php
echo "123.com";
?>
[[email protected] ~]# cat /data/www/123.com/upload/upload 
<?php
echo "123.com";
?>

3、测试验证

[[email protected] ~]# curl -x127.0.0.1:80 123.com/1.php
123.com
[[email protected] ~]# 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>
[[email protected] ~]# 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、配置虚拟主机

[[email protected] ~]# 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、检查重新加载

[[email protected] ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[[email protected] ~]# /usr/local/apache2.4/bin/apachectl graceful

3、测试验证

[[email protected] ~]# 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>
[[email protected] ~]# curl -A "360Sec" -x127.0.0.1:80 123.com  ##-A指定user-agent
123.com
[[email protected] ~]# 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>
时间: 2024-10-13 20:36:55

LAMP-php解析与user_agent的相关文章

11.28-11.31禁止解析php,user_agent,PHP配置

11.28 限定某个目录禁止解析php 由于网站是可以直接执行php程序的,而因为直接执行php程序这个方便快捷的功能,很多别有用心的人会利用这个功能去做一些恶意的行为, 从而这会导致变成一个漏洞,使其网站奔溃,所以我们搭建网站的时候,有必要把某目录php解析功能给关闭掉. 核心配置文件内容 <Directory /data/wwwroot/www.123.com/upload> php_admin_flag engine off </Directory> 检查状态并重新加载. [

LAMP - Apache禁止指定user_agent

网站有时候会有一些非法的访问或者无意义的访问,比如垃圾的蜘蛛(360 spider, sogou spider等),当网站访问量很大时,蜘蛛的访问会增加服务器的负担,损失性能.对于没有必要的搜索引擎,可以禁掉:而对于百度,谷歌等可以保留 禁止搜索引擎的方法:通过rewrite模块实现,比如禁止sogou spider对网站进行访问,添加以下红色字段 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} ^www.a

笔记10 LAMP架构(MySQL、mariadb、Apache、PHP5、PHP7、)

MySQL安装 MySQL的几个常用安装包:rpm.源码.二进制免编译 把下载的包保存在这个目录里:cd /usr/local/src  所以要先进入这个目录下 第一步,下载源码包: wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 第二步,解压: tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 第三步,把解压的这个目录

安装LAMP

<--目录--> 1)RPM方式构建LAMP平台 2)源码编译构建LAMP平台 3)LAMP配置解析 一.RPM方式构建LAMP平台 [服务器配置(192.168.2.1)] 1) 安装各组件 #yum -y install httpd mysql-server mysql php php-mysql php-pdo php-mbstring 启动各组件,php组件不需启动,以模块方式被http加载 #servcie httpd start #service mysqld start #chk

LAMP模式搭建网站

LAMP模式解析 LAMP平台的构成组件: L:Linux操作系统,Linux操作系统是整个LAMP架构的基础部分,提供用于支撑Web站点的操作系统,为其他的组件提供了更好的稳定性.兼容性 A:Apache网站服务器,作为LAMP架构的前端,功能强大.稳定性良好 M:MySQL数据库服务器,为LAMP架构的后端,是一款应用非常广泛的数据库系统.在企业网站.业务系统等应用中,各种账户信息.产品信息.客户资料等都可以存储到MySQL数据库中 P:PHP.Perl.Python网页编程语言,如今最为常

0814防盗链访问控制代理

12.13 Nginx防盗链 ?配置如下,可以和不记录日志和过期时间配置结合起来 location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ { expires 7d; valid_referers none blocked server_names  *.test.com ; #这里定义.test.com为白名单 if ($invalid_referer) { return 403; #这里表示如果不在

httpd配置.md

httpd-2.2 配置 监听端口和IP 配置文件: Listen [IP:]PORT 省略IP表示为0.0.0.0 Listen指令可重复出现多次 修改监听socket,重启服务进程方可生效 可以监听在指定的IP地址的端口上,但这么操作必须重启服务 持久连续 我们知道http是无状态.无连接的,无连接的含义是限制每次连接只处理一个请求.服务器处理完客户的请求,并收到客户的应答后,即断开连接.采用这种方式可以节省传输时间.无状态是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面

lnmp搭建+openssl(仅测试)

搭建LNMP环境 一,安装nginx 卸载rpm安装的httpd 安装支持软件pcre-devel zlib-devel gcc gcc-c++ make 创建nginx用户和组 [[email protected] ~]# useradd -M -s /sbin/nologin nginx 编译安装Nginx [[email protected] ~]# tar xf nginx-1.6.0.tar.gz -C /usr/src/ [[email protected] ~]# cd /usr/

LAMP(apache禁止解析php,限制user_agent,php配置,open_bashdir

一.apache禁止解析php. 实例:假如我们的一个目录是允许上传图片的,可能有些别有用心的人通过某些手段上传php文件上来.也就意味着被执行的文件,可能是恶意文件 修改: [[email protected] admin]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <Directory /data/wwwroot/111.com/upload> php_admin_flag engine off