您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關.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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。