Apache禁止解析PHP、禁止指定user_agent、php配置文件

Stella981
• 阅读 828

Apache禁止解析PHP

某个目录禁止解析PHP,是很有用的。特别是能够上传文件的目录。做网站安全的时候,这用的很多,比如某个目录可以上传文件,为了防止上传的文件有木马,所以我们禁止这个目录下面的访问解析PHP

禁止解析PHP

修改虚拟主机配置文件

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

加入以下配置:

<Directory /data/wwwroot/111.com/upload>
    php_admin_flag engine off
        <filesmatch "(.*)php">
                Order Deny,Allow
                Deny from all
                Allow from 127.0.0.1
        </filesmatch>
</Directory>

Apache禁止指定user_agent

有时我们受到CC攻击时,大部分访问都会是固定的user_agent(访问标识)。我们可以禁止特定的user_agent。或者禁止某些无用的搜索引擎蜘蛛访问,避免服务器负载过高。

Apache禁止指定user_agent

修改虚拟主机配置文件

#vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<IfModule mod_rewrite.c>
     RewriteEngine on
     RewriteCond %{HTTP_USER_AGENT} ^.*curl.* [NC,OR]
     RewriteCond %{HTTP_USER_AGENT} ^.*chrome.* [NC]
     RewriteRule .*  -  [F]
</IfModule>

NC表示不区分大小写 OR表示或者,连接下一个命令。不加OR就是并且的意思 警告:如果只有一条命令,并且在后面添加了OR选项,那么表示拒绝全部。 RewriteCond %{HTTP_USER_AGENT} ^.Firefox/4.0. [NC] 限制Firefox RewriteCond %{HTTP_USER_AGENT} ^.Tomato Bot/1.0 [NC] 限制tomato bot RewriteCond %{HTTP_USER_AGENT} ^.Baizuspid/2.0 [NC] 限制百度

php配置文件

而php.ini 中常用的配置有如下: disable_functions

disable_functions的配置如下,php的禁用功能

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

配置的是错误日志

vim /usr/local/php/etc/php.ini 
display_error=off
log_errors=on
error_log=/usr/local/php/logs/error.log
第一个是页面显示错误信息,

第二个是错误日志。

第三个是错误日志的路径

如果错误日志路径不存在就

mkdir /usr/local/php/logs/

因为错误日志是apache写的,所以授权777

chmod 777 /usr/local/php/logs/

配置日志的格式,日志的级别

找到error_reporting= E_ALL & ~E_DEPRECATED & ~E_STRICT

error_reporting = E_ALL & ~E_NOTICE

配置完成,重启apache

/usr/local/apache2/bin/apachectl graceful

错误信息会在

ls /usr/local/php/logs/php_errors.log

配置安全选项,限制文件目录

找到 open_basedir =

open_basedir = /data/www:/tmp
 

在apache里也可以配置

打开虚拟主机配置文件

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

针对不通虚拟主机,指定目录

在虚拟主机配置里面添加一句

 php_admin_value open_basedir "/data/www/:/tmp/"

拓展

apache开启压缩

apache2.2到2.4配置文件变更

apache options参数

apache禁止trace或track防止xss

apache 配置https 支持ssl

点赞
收藏
评论区
推荐文章
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
Apache服务器的配置——httpd.conf
1、配置根目录DocumentRoot"C:/www/apache2/htdocs"2、配置访问的路径 ServerName127.0.0.13、加载PHP54的模块LoadModulephp5\_module"c:/www/php54/php5apache2\_2.dll"4、设置解析php文件等 AddTypeap
Stella981 Stella981
3年前
LAMP架构之php禁止解析、user_agent限定及php配置文件常规设置
本文索引:禁止某目录PHP解析限制user\_agentPHP相关配置查看PHP配置文件的位置安全函数设定设置时区错误信息日志安全相关的参数禁止某目录PHP解析某些目录可以上传图片等文件,如果不设置禁止PHP
Wesley13 Wesley13
3年前
LAMP环境
11.28限定某个目录禁止php解析本节内容应用于对静态文件目录或可写的目录进行优化设置,通过限制解析/访问权限来避免别恶意攻击,提高安全性。编辑虚拟主机配置文件:root@adailinux111.comvim/usr/local/apache2.4/conf/extra/httpd
Wesley13 Wesley13
3年前
LAMP架构之PHP模块支持与虚拟主机配置
本文索引:Apache和PHP结合编辑apache主配置文件验证是否支持PHPapache启动小问题apache默认虚拟主机开启虚拟主机服务默认虚拟主机测试Apache和PHP结合1.编辑apache的主配置文件
Wesley13 Wesley13
3年前
11、19 PHP相关配置
查看PHP配置文件:/usr/local/php/bin/phpi|grepi"loadedconfigurationfile"(查找到的php配置文件可能不准)进入网站主页根目录下!(https://oscimg.oschina.net/oscnet/c6085b63030460eda6257f86621fb1ccbbd
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
3年前
Linux基础(day42)
11.14/11.15Apache和PHP结合配置httpd支持php目录概要httpd主配置文件/usr/local/apache2.4/conf/httpd.confvim/usr/local/apache2.4/conf/httpd.con
Stella981 Stella981
3年前
LNMP架构之防盗链、访问控制、php解析、代理的设置
本文索引:Ningx防盗链Ningx访问控制针对目录的访问控制针对文件的访问控制针对user\_agentNginx解析php相关配置访问报502错误分析Nginx代理Nginx防盗链修改虚拟主机配置文件
Stella981 Stella981
3年前
Apache禁止或允许固定IP访问特定目录、文件、URL
1\.禁止访问某些文件/目录增加Files选项来控制,比如要不允许访问.inc扩展名的文件,保护php类库:<Files~ "\\.inc$"Orderallow,denyDenyfromall</Files2.禁止访问某些指定的目录:(可以用 来进行正则匹配)