目录禁止解析PHP,限制user_agent

13人阅读 评论(0) 收藏 举报
分类:

禁止PHP解析

如果网站有漏洞,万一有人在网站上上传一些木马文件,就会存储在网站的目录里,如果被解析就完蛋 
比如,如果黑客上传一个info.php, 同时我们也没有在apache里去设置禁止解析用户上传的文件,那么黑客很有可能会在浏览器里看到我们的配置信息

我们只需要限制这些上传的木马文件即可,限制的2种方法: 
不允许上传,但这是不合适的,所有用户都上传不了了 
即使上传后,也不允许进行任何操作,不允许解析

禁止PHP解析算是一个安全选项。

禁止PHP解析的核心配置文件:

<Directory /data/wwwroot/www.123.com/upload> //选择目录
    php_admin_flag engine off //禁止解析PHP
</Directory>
  • 1
  • 2
  • 3
  • 4

禁止解析PHP的结果是在网页上直接显示源代码。

对111.com/upload目录做禁止PHP解析。 
编辑虚拟配置文件:

   [root@shuai-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

<Directory /data/wwwroot/111.com/upload>
    php_admin_flag engine off
</Directory>

保存退出检查配置文件语法并重新加载配置文件:

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

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

查看效果:

这里写图片描述 
显示的是源代码

当然,禁止解析PHP和访问控制一起使用,效果更好:

编辑配置文件:

<Directory /data/wwwroot/111.com/upload>
    php_admin_flag engine off
    <FilesMatch (.*)\.php(.*)>
    Order allow,deny
    deny from all
    </FilesMatch>
</Directory>

保存退出重新加载

这里写图片描述

禁止访问

参考博客:

http://blog.51cto.com/kevinjin117/1835341

限制user_agent

user_agent(用户代理):是指浏览器(搜索引擎)的信息包括硬件平台、系统软件、应用软件和用户个人偏好。 
当黑客用CC攻击你的服务器时,查看下日志发现user_agent是一致的,而且一秒钟出现多次user_agent,这样就必须限制user_agent

配置文件:

   <IfModule mod_rewrite.c> //使用rewrite模块
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR] //定义user_agent条件,OR表示两条件之间是或者的意思,NC表示忽略大小写
        RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC] //定义user_agent条件
        RewriteRule  .*  -  [F] // 规则 [F] 表示forbidden(403)
    </IfModule>

编辑虚拟配置文件:

   [root@shuai-01 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

   <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]
        RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC]
        RewriteRule  .*  -  [F]
    </IfModule>

保存退出检查配置文件语法并重新加载配置文件:

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

[root@shuai-01 ~]# /usr/local/apache2.4/bin/apachectl graceful

测试:

[root@shuai-01 111.com]# curl -x127.0.0.1:80 'http://111.com/123.php' -IHTTP/1.1 403 Forbidden
Date: Tue, 26 Dec 2017 11:41:06 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
Content-Type: text/html; charset=iso-8859-1

指定一个user_agent测试:

[root@shuai-01 111.com]# curl -A "shuailinux" -x127.0.0.1:80 'http://111.com/123.php' -I
HTTP/1.1 200 OK
Date: Tue, 26 Dec 2017 11:42:18 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
X-Powered-By: PHP/5.6.30
Content-Type: text/html; charset=UTF-8

命令:curl 
选项: 
-A 指定user_agent。 
如:

[root@shuai-01 111.com]# curl -A "shuailinux" -x127.0.0.1:80 

-e 指定referer,指定引用地址 
如:

[root@shuai-01 ~]# curl -e "http://111.com/123.txt" -x127.0.0.1:80 111.com/logo.png -I

-x 在给定的端口上使用HTTP代理 
如:

[root@shuai-01 111.com]# curl -x127.0.0.1:80 'http://111.com/123.php'

-I 查看状态码 
如:

[root@shuai-01 111.com]# curl -x127.0.0.1:80 'http://111.com/123.php' -I
查看评论

php采集

网络上关于采集的资料很多,但是当你把代码复制到自己的电脑上时,却执行不了。这个课程最大的特点就是把php采集当作项目来讲解,包含:需求分析,开发环境搭建,mysql数据表建立,网页特征分析,代码编写,数据入库。为了后期推出更好的内容,你看了如果有什么建议的意见可以反馈给子恒老师,QQ/微信 68183131
  • 2016年05月21日 11:08

LAMP架构——限定某个目录禁止php解析

LAMP架构——限定某个目录禁止php解析
  • MrDing991124
  • MrDing991124
  • 2017-12-26 22:52:59
  • 87

Apache下禁止特定目录执行PHP,提高安全性

之前在博文“从PHP安全讲DedeCms的安全加固”中说过在PHP安全中保护“可写目录下的文件不允许被访问到的重要性,还提出了改名文件夹的方式来保护该目录。 如果用的是Apache服务器,还可...
  • freedom_wbs
  • freedom_wbs
  • 2015-02-11 13:32:18
  • 801

linux中nginx下禁止某目录执行php程序

为了安全起见,我们一般会对上传目录禁止运行php脚本 修改nginx.conf配置文件 禁止单目录: location ~* ^/attachments/.*.(php|php5)$ { den...
  • baikeliang
  • baikeliang
  • 2015-09-25 10:47:17
  • 2907

php禁止客户端访问目录文件

1.最简单的办法是在图片文件夹里面建立一个空的索引文件,例如:index.html 最好再加上,返回上一页面 history.back(); 2.APACHE服务器这样做,搜索你的htt...
  • fei003
  • fei003
  • 2017-05-16 14:19:50
  • 714

.htaccess禁止目录执行php方法

前面给大家介绍了nginx怎么禁止php后缀执行,今天也来说下apache禁止后缀的方法,其实我个人觉得apache的后缀禁止方法比nginx的简单很多. 系统:centos 5.9 环境:lam...
  • qikexun
  • qikexun
  • 2016-03-18 20:29:24
  • 2627

nginx+php 限制每个站点的目录范围,防止跨站

今天偶然发现,在php脚本中可以访问服务器上任何目录。 顿时一身冷汗啊。。 于是就上百度谷歌了半天,一开始就找到了一个php.ini中的open_basedir参数,设置这个参数即...
  • a254612609
  • a254612609
  • 2014-09-02 09:21:54
  • 973

用PHP对文件夹进行访问权限设置(文件防止被下载设置)

用PHP对文件夹进行访问权限设置2011-03-01 19:0621高旭  分类:PHP | 浏览 5628 次 编程语言PHP我要做一个东西,把保存的文件放到一个文件夹,假如这个文件夹是A ,那么我...
  • forest_fire
  • forest_fire
  • 2016-03-21 11:13:26
  • 1311

Apache 配置静态缓存+禁止解析+限制访问目录

1.Apache 配置静态缓存 为了提高资源的利用率,可以设置文件缓存的时间长短 # vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 找到...
  • haoyiyide
  • haoyiyide
  • 2017-02-17 17:22:08
  • 842

apache禁止访问文件或目录执行权限、禁止运行脚本PHP文件的设置方法

至于为什么设置上传目录无权限这个我就不累赘了,现在比较流行的web服务有iis,apache,nginx,使用操作系统无非是windows和linux 我们来看俩段通常对上传目录设置无权限的列子...
  • Toney520
  • Toney520
  • 2014-05-16 11:14:08
  • 26995
    个人资料
    持之以恒
    等级:
    访问量: 2534
    积分: 985
    排名: 5万+
    文章存档
    最新评论