某个目录下禁止解析 php,这个很有用,我们做网站安全的时候,这个用的很多,比如
某些目录可以上传文件, 为了避免上传的文件有木马, 所以我们禁止这个目录下面的访问解
析 php.

安装目录下有个data目录,查看一下他的权限。

ll /data/www/data/

apache运行的用户就是daemon。属主改成daemon因为在daemon下生成文件。

例子:

在论坛里发个帖子,上传本地图片。

查找这个图片。

ls /data/www/data/attachment/forum///

52365dsf89t55s.jpg

data目录可以被用户写,用户上传个木马文件被执行,就会很危险。我们应该做些限制。

打开虚拟机配置文件

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 

插入

<Directory /data/www/data>
php_admin_flag engine off
<filesmatch "(.*)php">
Order deny,allow
Deny from all
</filesmatch>
</Directory>

说明:php_admin_flag engine off 这个语句就是禁止解析 php 的控制语句,但只这样配
置还不够,因为这样配置后用户依然可以访问 php 文件,只不过不解析了,但可以下载,用
户下载 php 文件也是不合适的,所以有必要再禁止一下。

检测是否正确,重启

apachectl -t
/usr/local/apache2/bin/apachectl restart

在/data/www/data下写一个php文件试试能不能解析

vim /data/www/data/info.php
<?php
phpinfo();
?>

在浏览器里输入

http://www.denny.com/data/info.php

错误403

把禁止解析php的文件写成

<Directory /data/www/data>
php_admin_flag engine off
# <filesmatch "(.*)php">
# Order deny,allow
# Deny from all
# </filesmatch>
</Directory>

用户访问就会下载这个php文件。

如果全部注释掉

#<Directory /data/www/data>
#php_admin_flag engine off
# <filesmatch "(.*)php">
# Order deny,allow
# Deny from all
# </filesmatch>
#</Directory>

用户访问就会解析成功,信息就会泄露。就有被攻击的危险。

LAMP 2.5 Apache禁止解析php的更多相关文章

  1. LAMP 2.6 Apache 禁止指定user_agent

    user_agent 我把它叫做浏览器标识, 目前主流的浏览器有 IE. chrome. Firefox. 360. iphone上的 Safari.Android 手机上的.百度搜索引擎.googl ...

  2. apache禁止php解析--安全

    #禁止解析php <Directory "/data/www/data/"> php_admin_flag engine off <filesmatch &quo ...

  3. Linux centosVMware apache 限定某个目录禁止解析php、限制user_agent、php相关配置

    一.限定某个目录禁止解析php 核心配置文件内容 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 先创建.编辑一个php 配置 vim /u ...

  4. Apache配置 10. 访问控制-禁止解析PHP

    (1)简述 对于使用PHP语言编写的网站,有一些目录是有需求上传文件的.如果网站代码有漏洞,让黑客上传了一个用PHP写的木马,由于网站可以执行PHP程序,最终会让黑客拿到服务器权限. 为了避免这种情况 ...

  5. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  6. LAMP第二部分apache配置

    课程大纲:1. 下载discuz! mkdir /data/wwwcd /data/wwwwget  http://download.comsenz.com/DiscuzX/3.2/Discuz_X3 ...

  7. linux安装lamp环境(linux+apache+mysql+php)

    源码安装 本次使用 Centos7.2 MySQL5.7.22 Apache2.4.37 PHP5.6.38 安装Apache 安装httpd和所需依赖:gcc, apr, apr-util,apr- ...

  8. ZH奶酪:Ubuntu 14.04安装LAMP(Linux,Apache,MySQL,PHP)

    (Linux Operating System,Apache Web Server,MySQL database,PHP) 首先,一个三行命令搞定的方法: sudo apt-get update su ...

  9. 限定某个目录禁止解析php 、限制user_agent 、php的配制文件、PHP的动态扩展模块

    1. 限定某个目录禁止解析php(有些目录用户可以上传文件或图片,可能会被恶意者上传其它文件):编辑:/usr/local/apache2.4/conf/extra/httpd-vhosts.conf ...

随机推荐

  1. jquery事件优化---事件委托

    假如你有一个表格,里面有大量的td 而你需要做的事就是,给td绑定点击事件函数, 那么多的td,遍历单元格和为每一个单元格绑定事件处理函数将会大大降低代码的性能, 如果让单元格的父元素监听事件,只要判 ...

  2. matplotlib画子图时设置总标题

    matplotlib subplots绘图时 设置总标题 :fig.suptitle(name)

  3. mvn 用指定setting.xml 执行指定pom.xml

    mvn package -f pom.xml -s setting.xml clean install

  4. phpPgAdmin (win)配置安装及远程访问

    phpPgAdmin (win)配置安装 [1]     通过PostgreSQL的Application Stack Builder配置安装phpPgAdmin 1.确保PostgreSQL安装并正 ...

  5. review29

    数组流 流的源和目的地除了可以是文件外,还可以是计算机内存. 1.字节数组流 字节数组输入流ByteArrayInputStream和字节数组输出流ByteArrayOutputStream分别使用字 ...

  6. 智课雅思词汇---十九、前缀se是什么意思

    智课雅思词汇---十九.前缀se是什么意思 一.总结 一句话总结:前缀:se- 表示“分开, 离开, 区别开” 前缀:se- [词根含义]:分离 [同源单词]:secede, secession, s ...

  7. java web工程启动socket服务

    1.新建web工程 2.自定义类 实现ServletContextListener 接口 在contextInitialized方法中启动socket服务的线程 在contextDestroyed方法 ...

  8. [BZOJ1242]Fishing Net

    dbzoj vjudge1 vjudge2 sol 给一个无向图,求判定是不是弦图. sol 还是弦图那套理论. 复杂度是\(O(n^2)\)的,因为\(m\)本质上和\(n^2\)是同级的. cod ...

  9. LeetCode 4 Keys Keyboard

    原题链接在这里:https://leetcode.com/problems/4-keys-keyboard/description/ 题目: Imagine you have a special ke ...

  10. web service的理解

    http://blog.csdn.net/u011075267/article/details/41522643