这个一个严重的安全问题。如果允许访问 .git 目录,那么打开你的网站,拼接出 .git/config 文件所在地址,会发现 config 文件立马被下载到了本地,如果你的密码写在了里面,恭喜你
https://accout:password@github.com/project ...
再或者,拼接出 .git/logs/HEAD 文件地址,会看到提交的信息。
解决办法
Nginx 上将 .git 目录禁止访问
location ~ /\.git {
deny all;
}
更彻底的方法,最好将所有的隐藏目录都禁用掉
# or, all . directories/files in general (including .htaccess, etc)
location ~ /\. {
deny all;
}
参考
- Please stop serving .git to the outside world | Hacker News
- Block nginx from serving .git directories
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式