題 複製整個網站,包括PHP和SQL?


是否可以使用複制整個網站和模板 wget (httrack 或其他程序)也獲得PHP代碼和SQL數據庫?

我需要什麼軟件來複製/鏡像這樣的網站? “Internet Download Manager”是一個可用於此的程序嗎?


4
2018-03-14 20:32


起源


有一些軟件允許您下載整個網站(沒有服務器端軟件): superuser.com/questions/14403/... - Anderson Green


答案:


不可以.Web服務器必須明確地向您公開這些文件。

當您加載使用PHP / SQL的網站時,它將在服務器本身運行PHP,並返回PHP程序的輸出(通常是HTML,CSS和JS的混合)。這些文件實際上從不存儲在Web服務器上的那些狀態中,而是在程序上生成。使用wget時你正在做的是你正在下載Web服務器的輸出(對HTTP查詢的響應),而不是從服務器上複製文件。

SQL服務器只能從受信任的帳戶訪問,並且通常由所述PHP代碼訪問。除非您具有使用ssh或sftp登錄服務器本身的憑據,否則您將無法訪問原始PHP代碼或SQL數據庫。

服務器可以配置為允許從計算機直接下載文件,包括PHP文件,但這並不常見,因為它完全違背了使用PHP的目的。競爭對手管理員不允許直接訪問PHP代碼,特別是會嚴格限制對SQL服務器的訪問。

這並不是說你不能使用安全漏洞來做到這一點。但這樣做通常是不道德的,除非你有 非常 這樣做的理由很充分(例如,您被安全公司聘用,在您客戶的網站上進行安全審核)。


8
2018-03-14 20:42





不,除非網站有,否則這是不可能的 嚴重 安全漏洞。

PHP在Web服務器上執行,永遠不會以原始方式傳遞給客戶端。相反,客戶端在運行PHP代碼後從PHP解釋器接收輸出。

同樣,客戶端無法訪問數據庫後端,客戶端也無法對其進行直接查詢。


2
2018-03-14 20:43





再一次,沒有。您只能獲得編譯的網頁,而不是數據庫中保存的後端數據。

您需要FTP訪問網站的根目錄,從那裡您可以採取包括後端的鏡像 - 但僅當數據庫包含在網站路徑中時。如果沒有,您需要打開端口以查詢數據庫並構建鏡像或請求託管商專門為您提供數據庫的副本。


2
2018-02-13 10:30





最簡潔的答案是不”。從客戶端,您只能使用網頁或wget獲取內容。 SQL數據庫中的數據由應用程序抽像出來,以便呈現在瀏覽器中。要完成站點的完整“備份”,您需要訪問服務器端內容,sqk,php文件等


0
2018-03-14 20:43