6月1日任务

11.28 限定某个目录禁止解析php
11.29 限制user_agent
11.30/11.31 php相关配置
扩展
apache开启压缩 http://ask.apelearn.com/question/5528
apache2.2到2.4配置文件变更 http://ask.apelearn.com/question/7292
apache options参数 http://ask.apelearn.com/question/1051
apache禁止trace或track防止xss http://ask.apelearn.com/question/1045
apache 配置https 支持ssl http://ask.apelearn.com/question/1029

11.28 限定某个目录禁止解析php

所谓禁止PHP解析,是为了防止被黑客攻击和上传一些恶意文件盗取资料,所以有必要设置指定的目录禁止解析PHP。

编辑虚拟主机配置文件vhosts.conf,添加以下内容。

重新加载配置文件,然后创建一个upload目录,并使用curl命令进行测试。

可以在配置文件中加上#注释掉不需要的内容,看看禁止解析PHP的效果。

可以把刚才配置文件中带注释的#删除掉,这样就可以做进一步的限制,在浏览器中连访问都不提供,直接显示forbidden。

可写的目录比如上传图片的目录,都是不需要解析PHP的,一般静态文件所存放的目录,是不允许放PHP的。

11.29 限制user_agent

user_agent可以理解为浏览器标识,编辑虚拟主机配置文件vhosts.conf,添加以下内容。

测试查看结果,所访问的地址直接提示403状态码forbidden。

也可以通过日志查看user_agent

如何判定就是因为做了限制user_agent,可以通过curl -A自定义指定user_agent,然后再测试就会显示200可以访问的状态码。

同样也可以通过日志查看到刚才自定义的user_agent为jimmy123 jimmy123

11.30/11.31 php相关配置

查看PHP配置文件路径,编辑PHP文件添加phpinfo,然后在浏览器页面就可以查看到php的配置文件路径。

浏览器输入http://111.com/index.php 就可以看到PHP相关的信息。 

如果配置文件没有加载,执行以下命令可以加载配置文件。

这个时候再刷新浏览器就可以看到配置文件已经加载 

找到php.ini文件后,我们可以做一些配置去限定disable_functions安全函数,如果把一些危险的函数添加到配置文件中,就可以起到限制作用,达到更加安全的效果。 常见的危险函数有:eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close

甚至还可以把phpinfo一起被禁用,在浏览器连phpinfo都无法访问查看。 

date.timezone 定义时区,如果不定义的话,有时候会有报错信息。

刚才能够在浏览器看到phpinfo信息被禁用,而且信息内容直接显示到浏览器,如果把display_errors = Off 浏览器就不会显示任何内容,而是完全空白页面。

没有任何的输出,因为是一个空白页。

如果display_errors = Off没有任何输出,我们无法看到有什么问题,所以需要设置一个错误日志方便查看。

已经在指定目录生成php_errors.log

可以在模拟一个错误

这个时候使用curl访问也同样是一个空白页,只不过报错状态码是500,也可以查看日志级别会比上一个级别高,这个级别是error,上一个是Warning。

open_basedir 的作用:例如有2个网站,A网站A目录和B网站B目录,如果被黑客攻击了,没有设置open_basedir的话,很容易被渗透到其他目录,一旦设置了open_basedir,就即便是A网站被黑了只最多只是A目录受到影响,而B网站是不会被影响到的,因为没有权限访问根本进不去,所以设置open_basedir进行限制也是非常有必要的,在配置文件vim /usr/local/php7/etc/php.ini 中设置。

curl访问会报错500,即便是把2.php修改成正确的语法内容,也一样会报500状态码,因为并没有给2.php做允许访问。

修改成正确的路径,就可以访问了。

如果服务器上跑了很多个站点,就只是限制在这个目录下,就没有意义了,在这个目录下的网站都可以来去自如,这样就不太合适了,应该针对这个站点去做open_basedir,那么在php.ini里面是做不到了,但是可以在虚拟主机配置文件vhosts.conf里去做,对不同的虚拟主机做不同的open_basedir,增加这样的语句就行了。 php_admin_value open_basedir "/data/wwwroot/abc.com:/tmp/"

限定某个目录禁止解析php、限制user_agent、php相关配置的更多相关文章

  1. 限定某个目录禁止解析php 限制user_agent php相关配置

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

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

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

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

  4. 如何让你的Apache支持include文件解析和支持shtml的相关配置

    源地址:http://www.itokit.com/2011/0430/65992.html Apache支持include文件解析shtml首先要应该修改Apache配置文件httpd.conf . ...

  5. LAMP 2.5 Apache禁止解析php

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

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

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

  7. iOS沙盒目录结构解析

    iOS沙盒目录结构解析 原文地址:http://blog.csdn.net/wzzvictory/article/details/18269713     出于安全考虑,iOS系统的沙盒机制规定每个应 ...

  8. QT正则表达式学习(Windows目录禁止九个字符)

    exp 正则表达式30分钟入门教程 http://deerchao.net/tutorials/regex/regex.htm 元字符 .*^\d\b\s,当然还有\,还有中括号[] .是一个元字符, ...

  9. InfluxDB源码目录结构解析

    操作系统 : CentOS7.3.1611_x64 go语言版本:1.8.3 linux/amd64 InfluxDB版本:1.1.0 influxdata主目录结构 [root@localhost ...

随机推荐

  1. 就因为加了Lombok的@Accessors(chain = true),bean拷贝工具类不干活了

    前言 这次新建了一个工程,因为 Lombok 用得很习惯,但以前的话,一般只用了@Data,@AllArgsConstructor,@EqualsAndHashCode等常规注解:那这个Accesso ...

  2. 虚拟机操作系统内设置固定IP以及克隆虚拟机

    以下为我自己整理的克隆虚拟机和设置固定IP的方法,记录一下,以防忘记: 桥接模式网络配置 1.配置ip地址等信息在/etc/sysconfig/network-scripts/ifcfg-ens33文 ...

  3. 易初大数据 2019年11月14日 spss笔记 王庆超

    “均匀分布”的随机数 需要打开本章的数据文件“sim.sav.”. 1.设置随机数种子 1选择[转换]--[随机数字生成器],勾选‘设置起点’,并在‘固定值’ 的下‘值’中输入一个用户给定的数值.该数 ...

  4. 易初大数据 2019年11月8日 linux 王庆超

    ◆linux系统的特点: (1)完全免费. (2)高效.安全.稳定. (3)支持多种硬件平台. (4)友好的用户界面. (5)强大的网络功能. (6)支持多任务.多用户. ◆linux体系: 1.li ...

  5. Docker(二) Dockerfile 使用介绍

    前言 图解Docker 镜像.容器和 Dockerfile 的关系: 一.Dockerfile的概念 Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序.库.资源.配置等文件外,还包 ...

  6. Eclipse对Java项目打Jar包

    在本Java项目中,如下图一所示,Java项目含有外部依赖Jar包 -- fastjson-1.2.29.jar  包. 在经历了多次的失败后,最后我终于使用 Eclipse 对 "Java ...

  7. 微软的分布式应用框架 Dapr

    微服务架构已成为构建云原生应用程序的标准,微服务架构提供了令人信服的好处,包括可伸缩性,松散的服务耦合和独立部署,但是这种方法的成本很高,需要了解和熟练掌握分布式系统.为了使用所有开发人员能够使用任何 ...

  8. linux环境中,两个不同网段的机器互通

    linux环境中,两个不同网段的机器互通   人评论3690人阅读2019-11-18 14:50:21   环境如下:   host1 单网卡 eth0 172.24.100.15/16   hos ...

  9. Linux(ubuntu)下切换root用户

    输入命令su root切换用户,会提示输入root密码,如果不记得或者是没设置过,那么可以输入sudo passwd root来设置密码,会让你输入两次密码确认.输入完即可使用su root命令切换r ...

  10. 手把手教你如何在阿里云ECS搭建Python TensorFlow Jupyter

    前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用.TensorFlow官网的安装仅提及Ubuntu,但我的ECS操作系统是 CentOS 7.6 64位,搭建Pyth ...