Php

Phpmyadmin 設置“允許來自”和“.htaccess 密碼”不能一起工作

  • July 1, 2018

我正在按照digitalocean 的本教程進行操作,我已經成功設置了 require ip 並允許 ip,這樣只有我的 ip 地址才能連接到網頁。

但是,在設置 Web 伺服器身份驗證門的最後一部分,當我啟用 htaccess 並創建 htpasswd 時,它會禁用對 ip 地址的限制,以便每個 ip 都可以連接到它。

然後,當我刪除 htaccess 文件時,網路登錄再次起作用。

有沒有人有任何想法?

如果您同時遵循這兩個教程,您將擁有(第二個來自.htaccess):

Require ip your_workstation_IP_address
Require valid-user

來自 mod_authz_coreRequire指令文件:

Require當在單個配置部分中使用多個指令並且不包含在另一個授權指令中 <RequireAll>時,它們會隱式包含在<RequireAny> 指令中。因此,第一個授權使用者授權整個請求,隨後Require的指令被忽略。

關於合併

<Directory>(正則表達式除外)並.htaccess同時完成(.htaccess如果允許,則使用覆蓋<Directory>

如果你真的需要這兩個規則:

  1. 將它們放在相同的配置部分中。
  2. 把它們放在裡面<RequireAll>

但實際上,如果您已經Require ip限制了一個(或幾個)IP 地址和 PhpMyAdmin 登錄表單,則Require valid-user實際上不會添加任何額外的安全層。


本教程遺漏了一個關鍵步驟,比以下任何Require陳述都重要:

但是,您的 phpMyAdmin 界面將在我們選擇的新位置可用:

http://server_domain_or_IP/nothingtosee

僅提供受 TLS 保護的 PhpMyAdmin!

這應該是真的https://server_domain_or_IP/nothingtosee。這很重要,否則您可能會洩露您的數據庫登錄資訊並洩露數據庫中的所有數據。啟用 HTTPS,例如使用免費的 Let’s Encrypt證書並遵循 Apache 的SSL/TLS 強加密:操作方法。

引用自:https://serverfault.com/questions/918983