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

加入:

<Directory /var/www/222/upload>
php_admin_flag engine off
</Directory>

 

建立目录:mkdir /var/www/222/upload -p
写php文件:echo "<?php phpinfo(); ?>" >/var/www/222/upload/index.php
检查语法:/usr/local/apache2.4/bin/apachectl -t

重启、访问、测试:

而访问upload目录下的其它文件就没有问题:

配制文件上传目录 php不解析或禁止访问的主要目的,是为了防止恶意者上传相关木马。(注意:静态文件所存放的目录是不允许放php文件的)

 

2、限制user_agent(可以理解为对浏览器的标识,若遇到cc攻击的时候,可以把攻击者用的浏览器给禁止掉)

编辑:/usr/local/apache2.4/conf/extra/httpd-vhosts.conf
加入:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR]   (NC,忽略大小写,OR 是或者与下一个条件是或的意思)
RewriteCond %{HTTP_USER_AGENT} .*baidu.com.* [NC]
RewriteRule .* - [F]   (F,forbidden)
</IfModule>

检查配制文件、重启、访问测试:

查看访问日志:

这样,就可以相对的防止恶意攻击。

 curl  -I 只看状况信息  -A 指定agent   -x (省略host,直接指定目标ip:port)

 
3、php的配制配制文件
    可以通过php的phpinfo();函数来查看,当然还可以在安装时已经指定的目录下,进行配制,

找到路径,然后对其进行配制:

 设置时区:date.timezone 
把它改成:date.timezone =Asia/Shanghai 或:date.timezone =Asia/Chongqing

然后,再设置一些禁止访问的函数:
disable_functions=  
把它改成: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

访问:

为了不显示这个,就配制:display_errors
把它改成:display_errors = Off

重启apache:/usr/local/apache2.4/bin/apachectl graceful
然后再次访问:

设置php.ini文件里的错误日志,由于上面,看不到任何问题(找不到原因),所以,就得查看日志

把错误日志开启:log_errors = On

设置错误日志的存放路径:error_log = /tmp/ php_errors.log

设置错误日志的级别:error_reporting = E_ALL & ~E_DEPRECATED

 然后,重启,访问

查看日志:

这里需要注意的,就是日志存放的 目录必需要有访问权限(相关用户)。

 

设置网站独立的目录或文件活动的权限 open_base = dir_name:  (比如网站被入侵了,可能还会被人家继续渗透,这样子,就只能在这个目录范围内)

 
但是这样子,就会把所有的dir_name 目录给限定了,所以,意义不大。
于是就只有改虚拟机的配制文件:/usr/local/apache2.4/conf/extra/httpd-vhost.conf
在里面加入:
php_admin_value open_basedir "/var/www/222/:/tmp/"  (防止,被入侵后继续扩展)

检查配制,重启,访问:

然后,改正确:

到此目录可控权限给设置完成。

 

4、PHP的动态扩展模块:

例如添加一个phpredis模块:
下载phpredis:wget -c https://codeload.github.com/phpredis/phpredis/zip/develop
改名:mv develop phpredis-develop.zip
解压:unzip phpredis-develop.zip
进入:cd phpredis-develop/
运行:/usr/local/php56/bin/phpize     (在目录内支行/usr/local/php56/bin/phpize,目的是为了什么configure文件)
配制:./configure --with-php-config=/usr/local/php56/bin/php-config
编译安装:make  && make install
编辑: vim /usr/local/php56/etc/php.ini
加入:extension=redis.so
查看:/usr/local/php56/bin/php -m |grep redis

到些phpredis 就加载成功。

其它安装模块,若源码包安装自带得有的话,就在ext下执行相关的安装操作。 

 例如:
步骤:
进入php的源码包:cd /home/nfyx/source/php-5.6.36/ext/
进入需要安装扩展模块的目录:cd  ****/
运行这条命令:/usr/local/php56/bin/phpize  (生成configure文件)
配制:./configure --with-php-config=/usr/local/php56/bin/php-config ;echo $?
编译安装:make && make install
查看默认路径下是否生成了扩展模块:ls /usr/local/php56/lib/php/extensions/no-debug-zts-20131226/
修改php.ini文件:vim /usr/local/php56/etc/php.ini
加入这行:extension=zip.so
最后进行查看是否加载:/usr/local/php56/bin/php -m |grep zip




到此源码包里面的扩展模块安装结束。

 

限定某个目录禁止解析php 、限制user_agent 、php的配制文件、PHP的动态扩展模块的更多相关文章

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

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

    6月1日任务 11.28 限定某个目录禁止解析php11.29 限制user_agent11.30/11.31 php相关配置扩展apache开启压缩 http://ask.apelearn.com/ ...

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

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

  4. LAMP 2.5 Apache禁止解析php

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

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

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

  6. iOS沙盒目录结构解析

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

  7. Android开发之 Android应用程序目录结构解析

    建立的HelloWorld的应用项目,其代码是由ADT插件自动生成的,形成Android项目特有的结构框架. 接下来让我带领大家解析一个Android程序的各个组成部分,这次我们拿一个Hello,Wo ...

  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. ElasticSearch的matchQuery与termQuery区别

    matchQuery:会将搜索词分词,再与目标查询字段进行匹配,若分词中的任意一个词与目标字段匹配上,则可查询到. termQuery:不会对搜索词进行分词处理,而是作为一个整体与目标字段进行匹配,若 ...

  2. Java版本知识

    1zip是压缩包,而MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据,只要系统中包含win ...

  3. Easy and cheap cluster building on AWS backup

    https://grapeot.me/easy-and-cheap-cluster-building-on-aws.html Thu 17 July 2014 , by Yan Wang | 2 Co ...

  4. matlab 调试日志

    debug=; diary off if debug delete('log.txt'); !del log.txt diary('log.txt'); diary ON end diary OFF

  5. 六招让你的Ubuntu马上提速

    Chris Hoffman Ubuntu的启动速度非常快,按了开机键之后很快就进入桌面.但我们仍然可以充分利用内存,通过多种方法让开机速度更快.某些方法真的可以提速,对于旧电脑的效果尤其明显. 选用轻 ...

  6. Win10系列:JavaScript页面导航

    页面导航是在开发应用的过程中使用频率较高的技术,其中比较常用的导航方式有多页导航和页内导航,采用多页导航方式的应用程序包含一系列的页面,在一个页面中加入另一个页面的链接地址后,单击链接将跳转到指定页面 ...

  7. ubuntu14.04 解析不了域名—ubuntu的DNS配置

    问题描述: 电脑系统为ubuntu14.04,连上无线后,火狐浏览器打开www.baidu.com,提示找不到服务器,以及终端ping www.baidu.com,提示unkown host,但是浏览 ...

  8. SQL-14 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。 注意对于重复的emp_no进行忽略。

    题目描述 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t.注意对于重复的emp_no进行忽略.CREATE TABLE IF NOT EXISTS &q ...

  9. Centos7 LNMP 一键安装

    首页: https://lnmp.org/ 安装包生成页: https://lnmp.org/auto.html

  10. js如何调试,使用debug模式

    js的代码断点调试非常简单,不需要借助代码编辑器,只要浏览器就行了(注意:html代码打断点是没有用的,只有js的才行,下图第二步打开开发者模式使用F12才对):