这篇文章给大家分享的是有关.git引发问题分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
最近上线了一个小的程序,架构Linux+Apache+Mysql+PHP(Thinkphp3.2),做系统的时候只是考虑了一些基础的安全比如csrf,sql注入等等,但是没想到栽倒了在git上面,项目使用的是git版本控制器,当你拉取一个项目时候,在你的项目文件夹下面会自动的创建一个.git的隐藏文件,也算是git的驱动文件,有了它你就可以在你的本地使用git进行代码的管理了,之前做项目一直都是Thinkphp3.2,服务器使用的Nginx从未发生过这样的事情(因为Nginx做了验证处理)
比如我们访问一个网站的使用,http://xx/.git/index,之后就会自动下载一个
之后我们可以简单的使用记事本打开一下
额....居然是你git代码管理器里面的目录结构,之后我们通过一个大神在github分享的一个用python写的小程序,我们居然能下载下来整个项目的目录结构
之后通过日志分析,可以得到网站的一些管理员的账号信息,这样你就可以得到了一些网站的关键信息,至此你就可以登录网站后台了
好了,说了这么多,还是告诉大家怎么解决这个问题了,其实一般注意一下就不会犯这么低级的错误,但是也还好及时发现并修改
1、如果你的服务器是apache,那么你将这样操作
(1)修改apache的配置文件(安装目录可能不同,你可以对照修改)
vim /etc/httpd/httpd.conf
1)首先要开启重写,然后
RewriteEngine on
RewriteRule ^.git - [F,L]
这样就ok了,你可以选择
Apache通过配置.htaccess文件禁止访问.git、.svn等目录
或者像我一样修改httpd.conf,因为我做了路由的重定向,所以选择了修改配置文件
(2)重启apache
/usr/local/apache2/bin/apachectl restart
如果你使用了Thinkphp5.0+或者laravel,那么恭喜你,你可以不用担心,因为目录和public不在同一级(配置public的情况下)
2、如果你使用的是Nginx
这样配置了重写,那么路由就根本找不到,所以也就不会出现那个问题了。
感谢各位的阅读!关于“.git引发问题分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。