回覆列表
  • 1 # 使用者5460979319165

    一、 修改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/.htpasswdrequire 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目錄進行講述,其他目錄如需加訪問限制,也可依此方法操作。   

  • 中秋節和大豐收的關聯?
  • 歌詞一萬年前的星光照耀著一切?