首先,我知道 XAMPP 並不適合生產。但我是 Apache、MySQL 的初學者,最重要的是對 PHP 還很陌生。我有 Node.js/Java/Javascript 背景,所以對我來說都是新的。
在我使用 XAMPP 開發的這個特定測試應用程式中,我還使用 Windows(這對我來說也很不尋常。我通常使用 Ubuntu 來建立和管理我的伺服器)。
我透過預製 PHP 範本建立了這個應用程序,因此在執行 XAMPP 的安全頁面程式之前我替換了所有「htdocs」檔案。
我想詳細介紹一下我為嘗試保護環境而採取的步驟,並懇請您給我一些更多建議,或者告訴我是否遺漏了某些內容。
- 我完全刪除了該
webdav
資料夾。 - 我更改了 MySQL root 密碼。
- 我更改了 Cookie 驗證的 PhpAdmin 預設密碼。
.htaccess
我在想要保護的資料夾上設定了一個檔案。 (作為 Apache 新手,這對我來說有點令人困惑。起初我想保護整個 XAMPP 資料夾,但後來沒有人可以在不強制使用憑證登入的情況下訪問我的 Web 應用程序.htpsswd
,這不是我想要的.htaccess
。.htaccess
一個安全措施是。我明確建立並允許使用者使用的路由進行存取的Web 伺服器,我不太確定PHP 和Apache 如何協同工作來定義這些權限。- 我沒有使用 FileZilla(據我所知也沒有運行它)。
- 我沒有使用 Mercury(據我所知也沒有運行它)。
- 我沒有使用 Tomcat(據我所知也沒有運行它)。
現在,到了我更關心的部分PhpAdmin
。起初我可以透過 localhost 存取它,但是一旦我設定了指向我的網域和 SSL 的 VirtualHost 伺服器,我就失去了它。我「修復」的方式是重新建立另一個 VirtualHost,在連接埠 80 上偵聽也指向 localhost。儘管我嘗試PhpAdmin
透過網域和 IP 遠端存取但不成功,但我仍然擔心它可能會透過網路受到某種攻擊。這是我的VirtualHost
設置httpd-ssl.conf
<VirtualHost *:80>
ServerName localhost
DocumentRoot "C:/xampp/apache/logs/error.log"
</VirtualHost>
##
## SSL Virtual Host Context
##
<VirtualHost *:80>
ServerName http://example.com
DocumentRoot "C:/xampp/apache/logs/error.log"
Redirect / https://example.com/login
</VirtualHost>
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "C:/xampp/htdocs"
ServerName example
ServerAdmin [email protected]
ErrorLog "C:/xampp/apache/logs/error.log"
TransferLog "C:/xampp/apache/logs/access.log"
據我所知,即使 MySQL 守護程序可以透過網路訪問,入侵者也必須暴力破解才能取得密碼。我的敏感可下載檔案透過憑證受到保護.htaccess
。
我認為我的 PhpAdmin 也受到保護,但我真的不確定這一點。如有任何意見,我將不勝感激。