phpmyadmin目錄不安全的解決方法:1、修改phpMyAdmin目錄名稱;2、對phpMyAdmin目錄加上使用者驗證;3、增加基於主機的存取控制
phpmyadmin目錄不安全的解決方法:
# 一、修改phpMyAdmin目錄名稱:
在不修改目錄名前,其他人很容易洞察目錄名,造成安全隱憂。如,假設一台Linux主機的網域為:Client Validation,那麼不修改目錄名稱的情況下,在網址列輸入:Client Validation 就會進入phpMyAdmin管理程式。因此如果將phpMyAdmin目錄改名為一個別人不容易知道的目錄,如mynameadmin,這樣,你在管理自己的資料庫時,只要鍵入:Client Validation 就可以透過瀏覽器管理資料庫了。 (註:下面仍會使用phpMyAdmin目錄名,如果目錄名稱已換,只需把phpMyAdmin改名為新的目錄名稱即可。)
二、對phpMyAdmin目錄加使用者驗證:
這是許多網站需要使用者驗證時普遍使用的方法,這樣當使用者第一次瀏覽進入該目錄時,都會出現一個提示窗口,提示使用者輸入使用者名稱和密碼驗證,其是透過使用Apache Server的標準mod_auth
模組實現的,具體操作方法如下:
1、VI編輯Apache Server配置文件,確保文件中如下兩句話沒有加註釋,如果這兩句話前有"#"符號,去掉"#"號。
DocumentRoot /data/web/apache/public/htdocs AccessFileName . htaccess AllOerride All
2、passwd程式建立使用者檔案:
htpasswd - c /data/web/apache/secrects/.htpasswd 88998
其中,-c
表示選項告訴htpasswd你想產生一個新的使用者文件, /data/web/apache/secrects/
是你想要存放.htpasswd
檔案的目錄,檔案名稱為.htpasswd
,88998
是在驗證時所用到的用戶名,敲如以上指令後,系統提示你輸入密碼,這個密碼就是驗證時所需要用到的密碼,該密碼在.htpasswd 檔案中是加密的。現在用more來檢視/data/web/apache/secrects/.htpasswd文件,可以看到其中有一行使用者名稱和一串加密密碼。
3、建立.htaccess
檔案:
使用文字編輯器,在目錄phpMyAdmin (如果已經改名,就是新的目錄名稱)下建立.htaccess 文件,在檔案中加入以下語句:
AuthName "用户验证" AuthType Basic AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswd require user 88998
儲存所做操作後,再去看phpMyAdmin目錄,將提示驗證窗口,輸入剛用htpasswd 指令建立的使用者名稱和密碼,即可進入該目錄。
三、 增加基於主機的存取控制:
在修改了目錄名稱和增加存取驗證機制後,應該說現在的phpMyAdmin已經很安全了,但由於phpMyAdmin目錄一般只是資料庫管理員使用,為防止別人還知道目錄名稱和驗證密碼,還可以增加如下的基於主機的存取控制,基於主機的存取是透過驗證用戶機器IP來實現的,即只有符合條件的IP才可以反問該目錄,否則拒絕存取。
修改.htaccess
檔案如下:
AuthName "用户验证" AuthType Basic AuthUserFile /data/web/apache/public/htdocs/phpMyAdmin/.htpasswdrequire user 88998 order deny,allow deny from all allow from 202.100.222.80
這裡增加了三條基於主機存取控制指令,其中第一條order 指令的值是由一個逗號隔開的名單,這個名單顯示了哪一個指令更高的優先權,第二個指令deny 定義不能存取該目錄的主機,第三條指令allow 定義可以存取該目錄的主機,這樣,該目錄除了IP位址為202.100.222.80 的機器可以存取該目錄之外,其他的都不能訪問,讀者可以把該位址該為使用者資料庫管理員IP。
總結:透過以上三點結合,就可很好的確保 phpMyAdmin目錄的安全,非資料庫管理員將難以透過phpMyAdmin程式讀取資料。這裡所講的是針對於phpMyAdmin目錄進行敘述,其他目錄如需加存取限制,也可依此方法操作。
#相關教學推薦:phpmyadmin
以上是phpmyadmin目錄不安全怎麼辦?的詳細內容。更多資訊請關注PHP中文網其他相關文章!