zoukankan      html  css  js  c++  java
  • Linux centosVMware apache 限定某个目录禁止解析php、限制user_agent、php相关配置

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

    核心配置文件内容

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

    先创建、编辑一个php

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

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

    php_admin_flag engine off

    </Directory>

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

    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>

    测试:

     /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

    这里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

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

    三、php相关配置

    查看php配置文件位置

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

    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配置文件

     

    找到disable_functions 

    禁掉所有函数,

    找到date.timezone

    定义地方

    日志

    改为

    这样就不能访问phpinfo了

    错误日志

    改为

    查找

     改为

    测试

     

    编辑一个错误文件并测试

     搜索

    改为

  • 相关阅读:
    html显示乱码
    java面向对象的三大特性——封装
    java面向对象——类
    16-vue-cli4.0脚手架-项目中定义全局@mixin,变量,cli中配置以供单文件组件中直接使用
    02-滚动加载
    14.oss上传封装
    13-动态组件-keepalive-滚动加载-返回位置
    09-JSONP跨域实现原理
    08- application/x-www-form-urlencoded 与 application/json区别 / querystring
    11-利用Promise的图片异步加载 / Promise封装ajax,模拟axios / Promise的finally原理
  • 原文地址:https://www.cnblogs.com/davery/p/8947217.html
Copyright © 2011-2022 走看看