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模塊實現的,具體操作方法如下:
立即學習“PHP免費學習筆記(深入)”;
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