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

[经验分享] 11.28限定某个目录禁止解析php11.29限制user_agent11.30

[复制链接]

尚未签到

发表于 2018-12-12 11:10:48 | 显示全部楼层 |阅读模式
  11.28 限定某个目录禁止解析php

例如一些目录允许上传图片,为防止有人上传带有病毒php文件,所以禁止php解析,一般存放静态的文件上的目录是不允许解析PHP文件的

重新加载配置文件

创建upload目录,访问提示403状态码

在浏览器打开是无法打开的,连访问的机会都没有

将下图的注释掉

再重新加载后测试,这时候不能解析了,显示它的源代码

在浏览器打开提示下载

11.29 限制user_agent

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

重新加载配置文件,curl访问提示状态码是403,就是因为user_agent是curl 所以无法访问

用curl -A来自定义下user_agent就可以访问了,状态码是200,直接可以访问

查看日志的user_agent 下图所示

11.30/11.31 php相关配置

在下面这个根目录下创建phpinfo


在浏览器查看php.ini配置文件的路径,但是实际上没有加载

没有加载就需要在源码包复制一个php.ini进去

再重新加载一下配置文件

刷新一下浏览器就加载了配置文件的路径

这时候就可以去编辑配置文件做一些限制了
vim /usr/local/php7/etc/php.ini
输入/disable_fu 搜索到的是空的,再加入一些比较危险的函数

测试phpinfo的作用打开网可以看到站点的具体内容,如果禁掉就无法打开站 点了

所 以这里就把phpinfo取消,因为还需要使用它
还需要定义date.timezone,如果不定义这个可以会有一些告紧信息,可以定的上海或重庆都是可以的

上面把phpinfo函数禁用了,打开网页时把错信息显示 在页面上了,这样容易暴路信息

重新加载 配置文件

浏览器重新刷新一下,没有错误提示了,显示空白

curl -A查看也是没有任何的输出 也是白页,但这不是我们想要的结果 ,因为不知道什么问题,不知道发生事

这时候就要配置几个错误日志,方便查找原因
vim /usr/local/php7/etc/php.ini
输入/log_errors查看是否开启

输入error_log定义路径

这时候还要定义error_log的级别,如果error_log的级别很高的话,它仅仅会记录一比较来严峻的错误
像一些警告的就不会记录,所在就不知道错误在那
输入/error_reporting   在 生产中我们用E_ALL & E_NOTICE就可以了,这里用E_ALL

加载配置文件测试,在/tmp下生成了php_errors.log日志文件,并查看它的属主属组

它的属主属组其实是httpd的属主属组

如果有一天发现错误日志始终没有写进定义的错误日志文件里,那么你就要查看一下这个定义的文件所在的目录有没有写的权限,这个写的权限的人就是httpd的启动用户,这里是deamon这个用户,为了安全起见也可以在创建touch /tmp/php_erroes.log然后再给它权限chmod 777 /tmp/php_erroes.log
查看下日志记录,然后再模拟下访问,再查看日志文件,这时候就出现Parse更严重的安全级别了
我们在排查错误的时候一定要有错误日志,如果没有是不行的

下面介绍open_basedir安全选项
例如一个服务器上跑了N多个站点,有一些站点漏洞很多,结果这个站点被黑了,被人拿到了权限,不断惨透服务器,就有可能造成其它站点也会被黑了,这个时候增加一个open_basedir就有可能防止其它网站被黑,A网站目录在A目录下,B网站目录在B目录下,这2个目录做一个隔离,A网站被黑了也只能看到A目录,但看不到B目录,因为没有权限进去B目录,这个就是open_basedir的作用
编辑配置文件,故意把111.com写错1111.com

测试一下结果 提示状态码为500

将1111.com更改成正确的111.com

访问的状态码就正确了 200

如果这个服务器有N多个站点,都在这个目录下,更改php.in只针对一个目录,那么其它站点都在这个目录,都可以访问,更改php.ini文件就不合适了,php.ini是做不到的
这时候需要针对这些站点去做open_basedir,就要到虚拟服务器里去做限制了
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
/tmp/默认存放临时文件,如果限制了就无法写入临时文件,例如上传图片,它会先把图片放在临时目录,再把图片放到该放的地方,根据不同的虚拟主机限制open_basedir

测试可以访问

  扩展
apache开启压缩 http://ask.apelearn.com/question/5528
apache2.2到2.4配置文件变更 http://ask.apelearn.com/question/7292
apache options参数 http://ask.apelearn.com/question/1051
apache禁止trace或track防止xss http://ask.apelearn.com/question/1045
apache 配置https 支持ssl http://ask.apelearn.com/question/1029




运维网声明 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-650482-1-1.html 上篇帖子: apache2.4限定某个目录禁止解析PHP、限制user_agent、PHP相关配置 下篇帖子: 43次课(限定某个目录禁止解析php、限制user_agent、 php相关配置)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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