PHPMyAdmin及權(quán)限配置
PHPMyAdmin是一個(gè)網(wǎng)頁(yè)版本的MySQL管理端,可以完成和navicat幾乎類似的功能:建庫(kù),建表,建對(duì)象,備份,執(zhí)行SQL語(yǔ)句等,但是為了安全起見(jiàn),默認(rèn)情況下,是禁止遠(yuǎn)程訪問(wèn)的。

所用知識(shí)點(diǎn)
1.DocumentRoot
我們?nèi)タ此@個(gè)網(wǎng)址,http://192.168.230.147/phpmyadmin/ 訪問(wèn)的時(shí)候明顯是在htdocs這個(gè)根目錄下面去了,但是實(shí)際上他的真實(shí)目錄卻是在 /opt/lampp 下

這是為什么呢,實(shí)際上這就是 虛擬目錄 的作用
指定Web服務(wù)器的主目錄,那么如果不配置虛擬目錄的情況下,所有Web應(yīng)用都應(yīng)該放在該目錄下。
DocumentRoot "/opt/lampp/htdocs" <Directory "/opt/lampp/htdocs">
如果讓 DocumentRoot "/opt/lampp/lampp/htdocs/xindai " 則訪問(wèn)時(shí),直接訪問(wèn) http://192.168.230.147/ 即可訪問(wèn)到信貸系統(tǒng)
其實(shí)我們?cè)L問(wèn)xindai系統(tǒng)也可以做到類似這樣的效果,只需要在Apache的配置文件中修改一下DocumentRoot即可 /opt/lampp/etc/httpd.conf ,一般情況下,有關(guān)網(wǎng)址訪問(wèn)都是和Apache有關(guān)的,這些配置的相關(guān)文件都在 /opt/lampp/etc 目錄下
將

修改為

(修改Directory的原因是Directory涉及到一些訪問(wèn)控制的權(quán)限) 然后 /opt/lampp/lampp restart
那么訪問(wèn)的情況就會(huì)由

變?yōu)?/p>

2.虛擬目錄
即便Web應(yīng)用沒(méi)有放置于DocumentRoot 目錄下,只要通過(guò)配置虛擬目錄,也可以實(shí)現(xiàn)訪問(wèn),比如 PHPMyAdmin應(yīng)用程序就沒(méi)有放到 DocumentRoot 目錄下,也是實(shí)現(xiàn)訪問(wèn),那是因?yàn)橄到y(tǒng)為PHPMyAdmin 配置了虛擬目錄,其配置文件在 /opt/lampp/etc/extra/http-xampp.conf 中。
我們進(jìn)入 /opt/lampp/etc/httpd.conf 文件查找 xampp可以看見(jiàn)如下情況

這里使用了很多的include文件。雖說(shuō)之后httpd.conf才是Apache的核心文件,但是我們也不能將所有的配置信息全部揉進(jìn)這一個(gè)文件當(dāng)中,這樣會(huì)顯得非常繁瑣,且文件也較大,因此我們將一些其他的配置信息寫(xiě)到其他的文件當(dāng)中去,然后使用include包含進(jìn) httpd.conf 中來(lái)
這里面include的最重要的就是這個(gè) etc/extra/httpd-xampp.conf

我們可以看到,這個(gè)目錄下的文件基本上全都是和httpd有關(guān)的,現(xiàn)在進(jìn)入 httpd-xampp.conf 查看
打開(kāi)之后可以看到這么一段話
Alias /phpmyadmin "/opt/lampp/phpmyadmin"
# since XAMPP 1.4.3
<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>這段話的效果就是配置了一個(gè)新的虛擬目錄。 Alias /phpmyadmin "/opt/lampp/phpmyadmin" 意思是起了一個(gè)別名叫 /phpmyadmin 對(duì)應(yīng)的是 /opt/lampp/phpmyadmin。就可以使得我們通過(guò)訪問(wèn) http://192.168.230.147/phpmyadmin 就相當(dāng)于直接訪問(wèn)到了 /opt/lampp/phpmyadmin
其中 AllowOverride AuthConfig Limit Require local 屬于Apache的訪問(wèn)控制權(quán)限模塊的指令等,一般情況下應(yīng)用系統(tǒng)中會(huì)有一個(gè) .htaccess文件 其中就寫(xiě)的是這些模塊的指令。其中 Require local 表示只有本機(jī)可以訪問(wèn),為了實(shí)現(xiàn)遠(yuǎn)程連接控制,就要將其修改為 Require all granted
3.配置遠(yuǎn)程訪問(wèn)權(quán)限
4.Require
Apache2.4中開(kāi)始使用mod_authz_host這個(gè)新的模塊來(lái)進(jìn)行訪問(wèn)控制和其他的授權(quán)檢查。原來(lái)在Apache2.2版本下用以實(shí)現(xiàn)網(wǎng)站訪問(wèn)控制的Order,Allow,Deny指令需要替換為新的Require訪問(wèn)控制指令
允許所有:Require all granted 拒絕所有:Require all denied 只允許特定域名主機(jī)的訪問(wèn)請(qǐng)求:Require host google.com 允許匹配環(huán)境變量中的任意一個(gè):Require env env-var [env-var] ... 允許特定的HTTP方法(GET/POST/HEAD/OPTIONS): Require method http-method [http-method] ... 允許,表達(dá)式為true:Require expr expression 允許特定用戶:Require user userid [userid] ... 允許特定用戶組:Require group group-name [group-name] ... 允許,有效用戶:Require valid-user 允許特定IP或IP網(wǎng)段,多個(gè)IP或IP網(wǎng)段間使用空格分隔: Require ip 192.100 192.168.100 192.168.100.5
以下示例:允許所有訪問(wèn)請(qǐng)求,但拒絕來(lái)自特定IP或IP網(wǎng)段的訪問(wèn)請(qǐng)求(阻止惡意IP或網(wǎng)絡(luò)爬蟲(chóng)網(wǎng)段的訪問(wèn))
<Directory xxx/www/yoursite> <RequireAll> Require all granted Require not ip 192.168.1.1 Require not ip 192.120 192.168.100 </RequireAll> </Direcory>
5.ACL
從網(wǎng)絡(luò)的角度來(lái)說(shuō),舉例網(wǎng)路入口(邊境)越近,所能防御到的攻擊越多越廣,童謠,要考慮的通用性也需要越強(qiáng)

PHPMyAdmin開(kāi)始配置
1.配置遠(yuǎn)程訪問(wèn)
進(jìn)入 /opt/lampp/etc/extra/httpd-xampp.conf 文件中,
將

修改為

因?yàn)?Require local 只允許本地訪問(wèn)
OK,然后重啟xampp

可以進(jìn)入這個(gè)頁(yè)面了,但是依舊還有些小錯(cuò)誤
我們仔細(xì)看錯(cuò)誤是什么 mysqli_real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: NO) 熟不熟悉???我就問(wèn)你熟不熟悉。
一看我靠,這是不是mysql登錄時(shí),不使用密碼不允許登錄的時(shí)候報(bào)的錯(cuò)嗎,OK看來(lái)是需要我們?nèi)バ薷腜HPMyAdmin登錄MySQL時(shí)所需的用戶密碼
2.配置PHPMyAdmin密碼
修改文件 /opt/lampp/phpmyadmin/config.inc.php

我們修改信息,使用root@localhost或者remote@192.168.230.147都可以 /** * First server */ $i++; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'p-0p-0p-0'; /* Server parameters */ //$cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = true;

這樣才算進(jìn)來(lái)了,我試過(guò)了,配置文件使用其他用戶是無(wú)法登陸的
但是現(xiàn)在還有一個(gè)問(wèn)題就是,不管在那臺(tái)機(jī)器上 訪問(wèn)都可以進(jìn)入PHPMyAdmin這個(gè)頁(yè)面,非常危險(xiǎn),所以還需要解決這個(gè)問(wèn)題:
解決方案如下:
- 為PHPMyAdmin設(shè)置訪問(wèn)密碼
- 禁用PHPMyAdmin,注釋掉在 httpd-xampp.conf 的包含文件,并刪除 PHPMyAdmin 目錄
- 管理數(shù)據(jù)庫(kù),使用數(shù)據(jù)庫(kù),為什么一定需要再同一個(gè)應(yīng)用或同一個(gè)Apache里面呢?
- 使用 Knock 進(jìn)行端口管理,并且只在需要的時(shí)候短暫打開(kāi)端口,用完就關(guān)閉。
在這里我們先選擇直接設(shè)置登錄密碼
進(jìn)入/opt/lampp/phpmyadmin/config.inc.php 文件,需修改配置文件信息
/** * First server */ $i++; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'http'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'p-0p-0p-0'; /* Server parameters */ //$cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = true;


然后填寫(xiě)用戶名密碼即可登錄
其他注意事項(xiàng)
(1)任何一個(gè)URL地址,一定要指定到具體的文件才可以訪問(wèn),如果沒(méi)有指定,則會(huì)訪問(wèn)默認(rèn)文件,默認(rèn)首頁(yè)。
例如小額信貸系統(tǒng),在/opt/lampp/htdocs/xindai目錄下的index.php文件,就是該系統(tǒng)的默認(rèn)文件,默認(rèn)訪問(wèn)頁(yè)面
如果將該文件名字改一下會(huì)遇見(jiàn)什么情況?

現(xiàn)在我們?cè)偃ピL問(wèn)一下xindai

就會(huì)變成這樣
(2)默認(rèn)情況下,任何一個(gè)目錄,如果只輸入目錄名而不輸入文件名就去訪問(wèn),該目錄必須要有一個(gè)默認(rèn)文件。比如 index.php index.html index.jsp 或 default.php main.php等,否則將無(wú)法訪問(wèn)到系統(tǒng)頁(yè)面反而給出來(lái)的就是該目錄下的所有文件,就和上圖一樣。
而系統(tǒng)的默認(rèn)文件配置信息,就在 /opt/lampp/etc/httpd.conf中,這是Apache的核心配置文件

但是,我們是不允許用戶直接這樣訪問(wèn)到目錄頁(yè)面的,這算是一個(gè)很大的漏洞,一旦講這些暴露在外,就危險(xiǎn)了,那么該如何處理解決呢?
(3)取消OPTIONS的權(quán)限,依舊是在 /opt/lampp/ect/httpd.conf 文件中修改,添加紅色框中部分,并注釋掉上面那句Options Index Follow…話

然后由于修改了核心配置文件,需要重啟 /opt/lampp/lampp restart

現(xiàn)在再去訪問(wèn)就不會(huì)有這種情況了
任務(wù):
1.完成PHPMyAdmin的登錄密碼配置
2.在 Xampp 7.3 上配置 woniunote系統(tǒng):DocumentRoot需要指定到public目錄下,直接放在根目錄htdocs是有問(wèn)題的
3.在Windows上完成上述任意環(huán)境配置
到此這篇關(guān)于PHPMyAdmin及權(quán)限配置的文章就介紹到這了,更多相關(guān)PHPMyAdmin權(quán)限配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python自動(dòng)化測(cè)試Data?Driven?Testing(DDT)用例解析
這篇文章主要為大家介紹了python自動(dòng)化測(cè)試Data?Driven?Testing(DDT)用例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Python?OpenCV實(shí)現(xiàn)圖像增強(qiáng)操作詳解
由于很多不確定因素,導(dǎo)致圖像采集的光環(huán)境極其復(fù)雜;為了提高目標(biāo)檢測(cè)模型的泛化能力,本文將使用python中的opencv模塊實(shí)現(xiàn)常見(jiàn)的圖像增強(qiáng)方法,感興趣的可以了解一下2022-10-10
如何處理Python3.4 使用pymssql 亂碼問(wèn)題
這篇文章主要介紹了如何處理Python3.4 使用pymssql 亂碼問(wèn)題的相關(guān)資料,涉及到python pymssql相關(guān)知識(shí),對(duì)此感興趣的朋友一起學(xué)習(xí)吧2016-01-01
Python中常見(jiàn)的KeyError報(bào)錯(cuò)分析
在Python編程中,KeyError是一種非常常見(jiàn)的異常,它通常發(fā)生在嘗試訪問(wèn)字典中不存在的鍵時(shí),本文將深入探討KeyError的報(bào)錯(cuò)原因、解決辦法,并通過(guò)代碼示例來(lái)演示如何避免這一錯(cuò)誤,需要的朋友可以參考下2024-07-07
python基礎(chǔ)之類型轉(zhuǎn)換函數(shù)
這篇文章主要介紹了python類型轉(zhuǎn)換函數(shù),實(shí)例分析了Python中返回一個(gè)返回值與多個(gè)返回值的方法,需要的朋友可以參考下2021-10-10
Python實(shí)現(xiàn)讀取文件夾按數(shù)字排序功能
這篇文章主要介紹了Python讀取文件夾按數(shù)字排序,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09
Python接口自動(dòng)化系列之unittest結(jié)合ddt的使用教程詳解
這篇文章主要介紹了Python接口自動(dòng)化系列之unittest結(jié)合ddt的使用教程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
基于Python編寫(xiě)簡(jiǎn)單的網(wǎng)絡(luò)測(cè)試工具
這篇文章主要為大家詳細(xì)介紹了如何基于Python編寫(xiě)一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)測(cè)試工具,可以測(cè)試網(wǎng)絡(luò)的下載速度,上傳速度和延遲,感興趣的可以了解下2025-02-02

