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

时间:2023-03-08 19:54:41

一、限定某个目录禁止解析php

核心配置文件内容

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

先创建、编辑一个php

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

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

配置 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 如下

<Directory /data/wwwroot/www.111.com/upload>

php_admin_flag engine off

</Directory>

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

测试:访问upload就直接跳出源代码,说明已经禁止成功了

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

curl测试时直接返回了php源代码,并未解析

二、限制user_agent

user_agent可以理解为浏览器标识

核心配置文件内容

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>

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

测试:

/usr/local/apache2.4/bin/apachectl -t

/usr/local/apache2.4/bin/apachectl graceful

直接出现403禁止访问

[root@davery ~]# curl -x127.0.0.1:80 www.111.com/upload/1.php -I

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

这里user_agent为"curl/7.29.0"匹配了第一个条件RewriteCond %{HTTP_USER_AGENT} .*curl.* [NC,OR],

curl -A "123123" 指定user_agent

[root@davery ~]# curl -A "123123" -x127.0.0.1:80 www.111.com/upload/1.php -I

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

这里user_agent为自定义"123123"配有匹配任何条件,所以状态码为200

三、php相关配置

查看php配置文件位置

/usr/local/php/bin/php -i|grep -i "loaded configuration file"

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

date.timezone

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

error_log, log_errors, display_errors 日志

error_reporting open_basedir

php_admin_value open_basedir "/data/wwwroot/111.com:/tmp/"

编辑vim /usr/local/php7/etc/php.ini配置文件

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

找到disable_functions 

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

禁掉所有函数,

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

找到date.timezone

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

定义地方

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

日志

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

改为

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

这样就不能访问phpinfo了

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

错误日志

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

改为

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

查找

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

改为

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

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

测试

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

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

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

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

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

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

编辑一个错误文件并测试

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

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

搜索

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

改为

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

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