这篇文章给大家分享的是有关.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引发问题分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
网站题目:.git引发问题分析
文章出自:http://lswzjz.com/article/jciegi.html