限定目录禁止解析php-限制user_agent-php相关配置

限定目录禁止解析php

防止乱上传php文件被执行

1.修改虚拟主机配置文件:/usr/local/apache2.4/conf/extra/httpd-vhosts.conf

    <Directory /data/wwwroot/www.123.com/upload>
        php_admin_flag engine off
        <FilesMatch (.*)\.php(.*)>
        Order allow,deny
        Deny from all
        </FilesMatch>
    </Directory>

 

2.重新加载配置参数:

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

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

 

3.创建测试php文件:

 

4.测试:

以上是1中全代码的运行结果;不能访问,更不能解析

 

以上是单“php_admin_flag engine off”代码的运行结果,不能解析。

 

限制user_agent:

user_agent可以理解为浏览器标识

1.修改虚拟主机配置文件:/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>//NC 忽略大小写,F为fobidden的意思

 

2.重新加载配置参数:

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

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

 

3.测试:

curl -A "123123" -x127.0.0.1:80 'http://111.com/123.hph'              #-A 指定user_agent,-e 指定referer 必须以“http://”开头,-x 省略hosts,-I 仅仅查看状态码

 

php配置相关:

/usr/local/php/bin/php -i|grep -i "loaded configuration file"               #查看php配置文件位置 /usr/local/php7/etc/php.ini

date.timezone =                                                                                  #定义时区,date.timezone = Asia/Shanghai

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路径,即定义 log_errors 的路径

 log_errors =                                                                                     #是否打开错误日志,on打开,off开启

error_reporting =                                                                              #定义日志的级别,默认为E_all,生产环境上使用E_ALL & ~E_NOTICE

display =                                                                                           #on在浏览器显示错误信息,off关闭在浏览器显示错误提示

open_basedir =/data/wwwroot/111.com:/tmp                                   #php.ini是针对所有站点的,此项亦可以在虚拟主机配置文件中做配置,添加如下行: php_admin_value open_basedir "/data/wwwroot/111.com:/tmp/"

 

转载于:https://my.oschina.net/u/3866910/blog/1924131

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值