'一個.git引發的慘案'

Git Nginx Apache MySQL PHP GitHub Linux Vim Python SQL 思夢PHP 2019-09-05
"

最簡單的表達形式是越怕出事,越會出事。

—— 墨菲定理

健碩的系統才是根基,菜是原罪

最近上線了一個小的程序,架構Linux+Apache+Mysql+PHP(Thinkphp3.2),做系統的時候只是考慮了一些基礎的安全比如csrf,sql注入等等,但是沒想到栽倒了在git上面,項目使用的是git版本控制器,當你拉取一個項目時候,在你的項目文件夾下面會自動的創建一個.git的隱藏文件,也算是git的驅動文件,有了它你就可以在你的本地使用git進行代碼的管理了,之前做項目一直都是Thinkphp3.2,服務器使用的Nginx從未發生過這樣的事情(因為Nginx做了驗證處理)

比如我們訪問一個網站的使用,http://xx/.git/index,之後就會自動下載一個

"

最簡單的表達形式是越怕出事,越會出事。

—— 墨菲定理

健碩的系統才是根基,菜是原罪

最近上線了一個小的程序,架構Linux+Apache+Mysql+PHP(Thinkphp3.2),做系統的時候只是考慮了一些基礎的安全比如csrf,sql注入等等,但是沒想到栽倒了在git上面,項目使用的是git版本控制器,當你拉取一個項目時候,在你的項目文件夾下面會自動的創建一個.git的隱藏文件,也算是git的驅動文件,有了它你就可以在你的本地使用git進行代碼的管理了,之前做項目一直都是Thinkphp3.2,服務器使用的Nginx從未發生過這樣的事情(因為Nginx做了驗證處理)

比如我們訪問一個網站的使用,http://xx/.git/index,之後就會自動下載一個

一個.git引發的慘案

之後我們可以簡單的使用記事本打開一下

"

最簡單的表達形式是越怕出事,越會出事。

—— 墨菲定理

健碩的系統才是根基,菜是原罪

最近上線了一個小的程序,架構Linux+Apache+Mysql+PHP(Thinkphp3.2),做系統的時候只是考慮了一些基礎的安全比如csrf,sql注入等等,但是沒想到栽倒了在git上面,項目使用的是git版本控制器,當你拉取一個項目時候,在你的項目文件夾下面會自動的創建一個.git的隱藏文件,也算是git的驅動文件,有了它你就可以在你的本地使用git進行代碼的管理了,之前做項目一直都是Thinkphp3.2,服務器使用的Nginx從未發生過這樣的事情(因為Nginx做了驗證處理)

比如我們訪問一個網站的使用,http://xx/.git/index,之後就會自動下載一個

一個.git引發的慘案

之後我們可以簡單的使用記事本打開一下

一個.git引發的慘案

額....居然是你git代碼管理器裡面的目錄結構,之後我們通過一個大神在github分享的一個用python寫的小程序,我們居然能下載下來整個項目的目錄結構

"

最簡單的表達形式是越怕出事,越會出事。

—— 墨菲定理

健碩的系統才是根基,菜是原罪

最近上線了一個小的程序,架構Linux+Apache+Mysql+PHP(Thinkphp3.2),做系統的時候只是考慮了一些基礎的安全比如csrf,sql注入等等,但是沒想到栽倒了在git上面,項目使用的是git版本控制器,當你拉取一個項目時候,在你的項目文件夾下面會自動的創建一個.git的隱藏文件,也算是git的驅動文件,有了它你就可以在你的本地使用git進行代碼的管理了,之前做項目一直都是Thinkphp3.2,服務器使用的Nginx從未發生過這樣的事情(因為Nginx做了驗證處理)

比如我們訪問一個網站的使用,http://xx/.git/index,之後就會自動下載一個

一個.git引發的慘案

之後我們可以簡單的使用記事本打開一下

一個.git引發的慘案

額....居然是你git代碼管理器裡面的目錄結構,之後我們通過一個大神在github分享的一個用python寫的小程序,我們居然能下載下來整個項目的目錄結構

一個.git引發的慘案

之後通過日誌分析,可以得到網站的一些管理員的賬號信息,這樣你就可以得到了一些網站的關鍵信息,至此你就可以登錄網站後臺了

好了,說了這麼多,還是告訴大家怎麼解決這個問題了,其實一般注意一下就不會犯這麼低級的錯誤,但是也還好及時發現並修改

1、如果你的服務器是apache,那麼你將這樣操作

(1)修改apache的配置文件(安裝目錄可能不同,你可以對照修改)

vim /etc/httpd/httpd.conf

1)首先要開啟重寫,然後

RewriteEngine on
RewriteRule ^.git - [F,L]

這樣就ok了,你可以選擇

Apache通過配置.htaccess文件禁止訪問.git、.svn等目錄

或者像我一樣修改httpd.conf,因為我做了路由的重定向,所以選擇了修改配置文件

"

最簡單的表達形式是越怕出事,越會出事。

—— 墨菲定理

健碩的系統才是根基,菜是原罪

最近上線了一個小的程序,架構Linux+Apache+Mysql+PHP(Thinkphp3.2),做系統的時候只是考慮了一些基礎的安全比如csrf,sql注入等等,但是沒想到栽倒了在git上面,項目使用的是git版本控制器,當你拉取一個項目時候,在你的項目文件夾下面會自動的創建一個.git的隱藏文件,也算是git的驅動文件,有了它你就可以在你的本地使用git進行代碼的管理了,之前做項目一直都是Thinkphp3.2,服務器使用的Nginx從未發生過這樣的事情(因為Nginx做了驗證處理)

比如我們訪問一個網站的使用,http://xx/.git/index,之後就會自動下載一個

一個.git引發的慘案

之後我們可以簡單的使用記事本打開一下

一個.git引發的慘案

額....居然是你git代碼管理器裡面的目錄結構,之後我們通過一個大神在github分享的一個用python寫的小程序,我們居然能下載下來整個項目的目錄結構

一個.git引發的慘案

之後通過日誌分析,可以得到網站的一些管理員的賬號信息,這樣你就可以得到了一些網站的關鍵信息,至此你就可以登錄網站後臺了

好了,說了這麼多,還是告訴大家怎麼解決這個問題了,其實一般注意一下就不會犯這麼低級的錯誤,但是也還好及時發現並修改

1、如果你的服務器是apache,那麼你將這樣操作

(1)修改apache的配置文件(安裝目錄可能不同,你可以對照修改)

vim /etc/httpd/httpd.conf

1)首先要開啟重寫,然後

RewriteEngine on
RewriteRule ^.git - [F,L]

這樣就ok了,你可以選擇

Apache通過配置.htaccess文件禁止訪問.git、.svn等目錄

或者像我一樣修改httpd.conf,因為我做了路由的重定向,所以選擇了修改配置文件

一個.git引發的慘案

(2)重啟apache

/usr/local/apache2/bin/apachectl restart

如果你使用了Thinkphp5.0+或者laravel,那麼恭喜你,你可以不用擔心,因為目錄和public不在同一級(配置public的情況下)

2、如果你使用的是Nginx

"

最簡單的表達形式是越怕出事,越會出事。

—— 墨菲定理

健碩的系統才是根基,菜是原罪

最近上線了一個小的程序,架構Linux+Apache+Mysql+PHP(Thinkphp3.2),做系統的時候只是考慮了一些基礎的安全比如csrf,sql注入等等,但是沒想到栽倒了在git上面,項目使用的是git版本控制器,當你拉取一個項目時候,在你的項目文件夾下面會自動的創建一個.git的隱藏文件,也算是git的驅動文件,有了它你就可以在你的本地使用git進行代碼的管理了,之前做項目一直都是Thinkphp3.2,服務器使用的Nginx從未發生過這樣的事情(因為Nginx做了驗證處理)

比如我們訪問一個網站的使用,http://xx/.git/index,之後就會自動下載一個

一個.git引發的慘案

之後我們可以簡單的使用記事本打開一下

一個.git引發的慘案

額....居然是你git代碼管理器裡面的目錄結構,之後我們通過一個大神在github分享的一個用python寫的小程序,我們居然能下載下來整個項目的目錄結構

一個.git引發的慘案

之後通過日誌分析,可以得到網站的一些管理員的賬號信息,這樣你就可以得到了一些網站的關鍵信息,至此你就可以登錄網站後臺了

好了,說了這麼多,還是告訴大家怎麼解決這個問題了,其實一般注意一下就不會犯這麼低級的錯誤,但是也還好及時發現並修改

1、如果你的服務器是apache,那麼你將這樣操作

(1)修改apache的配置文件(安裝目錄可能不同,你可以對照修改)

vim /etc/httpd/httpd.conf

1)首先要開啟重寫,然後

RewriteEngine on
RewriteRule ^.git - [F,L]

這樣就ok了,你可以選擇

Apache通過配置.htaccess文件禁止訪問.git、.svn等目錄

或者像我一樣修改httpd.conf,因為我做了路由的重定向,所以選擇了修改配置文件

一個.git引發的慘案

(2)重啟apache

/usr/local/apache2/bin/apachectl restart

如果你使用了Thinkphp5.0+或者laravel,那麼恭喜你,你可以不用擔心,因為目錄和public不在同一級(配置public的情況下)

2、如果你使用的是Nginx

一個.git引發的慘案

這樣配置了重寫,那麼路由就根本找不到,所以也就不會出現那個問題了。

編程安全,防不勝防,菜是原罪。

"

相關推薦

推薦中...