设为首页 收藏本站
查看: 605|回复: 0

[经验分享] 44.限定某个目录禁止解析php、限制user_agent、php相关配置

[复制链接]

尚未签到

发表于 2018-12-12 08:37:18 | 显示全部楼层 |阅读模式
一、限定某个目录禁止解析php、限制user_agent、php相关配置

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


  • 修改核心配置文件内容

    php_admin_flag engine off


/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
  禁止解析upload目录下的php文件


mkdir /data/wwwroot/123.com/upload/
cp /data/wwwroot/123.com/admin.php    /data/wwwroot/123.com/upload/example.php
curl -x127.0.0.1:80 www.123.com/upload/example.php

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

  或者

   

Order allow,deny
Deny from all


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

  禁止访问upload目录下的php文件;




  • 测试显示403禁止访问;
    二、限制user_agent
  user_agent可以理解为浏览器标识
user_agent为什么可以做访问控制呢?
背景:比如网站受到cc***。***的人通过软件或者肉机,想***某个网站的时候,把所有的肉机发动起来,让它们同时访问一个站点。但是cc***往往有一个特征,就是user_agent一致的,访问地址一致。访问速度快,每秒N次

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
  核心配置文件内容

   
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT}  .*curl.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT}  .*baidu.com.* [NC]
RewriteRule  .*  -  [F]


  • NC忽略大小写, [F] forbidden OR 禁止curl或者baidu.com.两个user_agent

  •   curl -A "123123" 指定user_agent


/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
curl -x127.0.0.1:80   www.123.com
curl -A '1231' -x127.0.0.1:80 www.123.com
curl -A 'baidu.com' -x127.0.0.1:80   www.123.com




  • 本机默认user_agent和百度都禁止访问,随机指定一个则可以访问
    三、 php相关配置
  查看php配置文件位置

vim /data/wwwroot/123.com/123.php

  通过浏览器查看配置文件信息

  如果配置文件不存在就要去模板目录下复制一份;


  •   修改php配置文件

    vim /usr/local/php/etc/php.ini
  • date.timezone --定义时区   
    ate 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_errors --是否开启日志
  • display_errors  --是否前台显示错误信息(如:将phpinfo加入禁用函数名单,访问一个phpinfo的php文件,如果此选项开启,那么会显示错误信息,如果此选项关闭,则什么也不显示)
  • error_reporting --定义日志级别  通常为  E_ALL & ~E_NOTICE



  • open_basedir  修改ini是对所有网站生效  修改虚拟主机配置才是对单个网站,作用在于限制php访问权限,一般在虚拟主机配置中限制相应账户即可。


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

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

  设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php***跨站





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650334-1-1.html 上篇帖子: 4.18 php相关配置,限制user_agent,禁止php解析 下篇帖子: Linux学习总结(三十七)lamp之禁止php解析 user_agent 访问控制 php相关配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表