PHPMyAdmin及權(quán)限配置
PHPMyAdmin是一個(gè)網(wǎng)頁版本的MySQL管理端,可以完成和navicat幾乎類似的功能:建庫,建表,建對(duì)象,備份,執(zhí)行SQL語句等,但是為了安全起見,默認(rèn)情況下,是禁止遠(yuǎn)程訪問的。
所用知識(shí)點(diǎn)
1.DocumentRoot
我們?nèi)タ此@個(gè)網(wǎng)址,http://192.168.230.147/phpmyadmin/ 訪問的時(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 " 則訪問時(shí),直接訪問 http://192.168.230.147/ 即可訪問到信貸系統(tǒng)
其實(shí)我們?cè)L問xindai系統(tǒng)也可以做到類似這樣的效果,只需要在Apache的配置文件中修改一下DocumentRoot即可 /opt/lampp/etc/httpd.conf ,一般情況下,有關(guān)網(wǎng)址訪問都是和Apache有關(guān)的,這些配置的相關(guān)文件都在 /opt/lampp/etc 目錄下
將
修改為
(修改Directory的原因是Directory涉及到一些訪問控制的權(quán)限) 然后 /opt/lampp/lampp restart
那么訪問的情況就會(huì)由
變?yōu)?/p>
2.虛擬目錄
即便Web應(yīng)用沒有放置于DocumentRoot 目錄下,只要通過配置虛擬目錄,也可以實(shí)現(xiàn)訪問,比如 PHPMyAdmin應(yīng)用程序就沒有放到 DocumentRoot 目錄下,也是實(shí)現(xiàn)訪問,那是因?yàn)橄到y(tǒng)為PHPMyAdmin 配置了虛擬目錄,其配置文件在 /opt/lampp/etc/extra/http-xampp.conf 中。
我們進(jìn)入 /opt/lampp/etc/httpd.conf 文件查找 xampp可以看見如下情況
這里使用了很多的include文件。雖說之后httpd.conf才是Apache的核心文件,但是我們也不能將所有的配置信息全部揉進(jìn)這一個(gè)文件當(dāng)中,這樣會(huì)顯得非常繁瑣,且文件也較大,因此我們將一些其他的配置信息寫到其他的文件當(dāng)中去,然后使用include包含進(jìn) httpd.conf 中來
這里面include的最重要的就是這個(gè) etc/extra/httpd-xampp.conf
我們可以看到,這個(gè)目錄下的文件基本上全都是和httpd有關(guān)的,現(xiàn)在進(jìn)入 httpd-xampp.conf 查看
打開之后可以看到這么一段話
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。就可以使得我們通過訪問 http://192.168.230.147/phpmyadmin 就相當(dāng)于直接訪問到了 /opt/lampp/phpmyadmin
其中 AllowOverride AuthConfig Limit Require local
屬于Apache的訪問控制權(quán)限模塊的指令等,一般情況下應(yīng)用系統(tǒng)中會(huì)有一個(gè) .htaccess文件 其中就寫的是這些模塊的指令。其中 Require local
表示只有本機(jī)可以訪問,為了實(shí)現(xiàn)遠(yuǎn)程連接控制,就要將其修改為 Require all granted
3.配置遠(yuǎn)程訪問權(quán)限
4.Require
Apache2.4中開始使用mod_authz_host這個(gè)新的模塊來進(jìn)行訪問控制和其他的授權(quán)檢查。原來在Apache2.2版本下用以實(shí)現(xiàn)網(wǎng)站訪問控制的Order,Allow,Deny指令需要替換為新的Require訪問控制指令
允許所有:Require all granted 拒絕所有:Require all denied 只允許特定域名主機(jī)的訪問請(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
以下示例:允許所有訪問請(qǐng)求,但拒絕來自特定IP或IP網(wǎng)段的訪問請(qǐng)求(阻止惡意IP或網(wǎng)絡(luò)爬蟲網(wǎng)段的訪問)
<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ò)的角度來說,舉例網(wǎng)路入口(邊境)越近,所能防御到的攻擊越多越廣,童謠,要考慮的通用性也需要越強(qiáng)
PHPMyAdmin開始配置
1.配置遠(yuǎn)程訪問
進(jìn)入 /opt/lampp/etc/extra/httpd-xampp.conf 文件中,
將
修改為
因?yàn)?Require local 只允許本地訪問
OK,然后重啟xampp
可以進(jìn)入這個(gè)頁面了,但是依舊還有些小錯(cuò)誤
我們仔細(xì)看錯(cuò)誤是什么 mysqli_real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: NO)
熟不熟悉???我就問你熟不熟悉。
一看我靠,這是不是mysql登錄時(shí),不使用密碼不允許登錄的時(shí)候報(bào)的錯(cuò)嗎,OK看來是需要我們?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)來了,我試過了,配置文件使用其他用戶是無法登陸的
但是現(xiàn)在還有一個(gè)問題就是,不管在那臺(tái)機(jī)器上 訪問都可以進(jìn)入PHPMyAdmin這個(gè)頁面,非常危險(xiǎn),所以還需要解決這個(gè)問題:
解決方案如下:
- 為PHPMyAdmin設(shè)置訪問密碼
- 禁用PHPMyAdmin,注釋掉在 httpd-xampp.conf 的包含文件,并刪除 PHPMyAdmin 目錄
- 管理數(shù)據(jù)庫,使用數(shù)據(jù)庫,為什么一定需要再同一個(gè)應(yīng)用或同一個(gè)Apache里面呢?
- 使用 Knock 進(jìn)行端口管理,并且只在需要的時(shí)候短暫打開端口,用完就關(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àng)
(1)任何一個(gè)URL地址,一定要指定到具體的文件才可以訪問,如果沒有指定,則會(huì)訪問默認(rèn)文件,默認(rèn)首頁。
例如小額信貸系統(tǒng),在/opt/lampp/htdocs/xindai目錄下的index.php文件,就是該系統(tǒng)的默認(rèn)文件,默認(rèn)訪問頁面
如果將該文件名字改一下會(huì)遇見什么情況?
現(xiàn)在我們?cè)偃ピL問一下xindai
就會(huì)變成這樣
(2)默認(rèn)情況下,任何一個(gè)目錄,如果只輸入目錄名而不輸入文件名就去訪問,該目錄必須要有一個(gè)默認(rèn)文件。比如 index.php index.html index.jsp 或 default.php main.php等,否則將無法訪問到系統(tǒng)頁面反而給出來的就是該目錄下的所有文件,就和上圖一樣。
而系統(tǒng)的默認(rèn)文件配置信息,就在 /opt/lampp/etc/httpd.conf中,這是Apache的核心配置文件
但是,我們是不允許用戶直接這樣訪問到目錄頁面的,這算是一個(gè)很大的漏洞,一旦講這些暴露在外,就危險(xiǎn)了,那么該如何處理解決呢?
(3)取消OPTIONS的權(quán)限,依舊是在 /opt/lampp/ect/httpd.conf
文件中修改,添加紅色框中部分,并注釋掉上面那句Options Index Follow…話
然后由于修改了核心配置文件,需要重啟 /opt/lampp/lampp restart
現(xiàn)在再去訪問就不會(huì)有這種情況了
任務(wù):
1.完成PHPMyAdmin的登錄密碼配置
2.在 Xampp 7.3 上配置 woniunote系統(tǒng):DocumentRoot需要指定到public目錄下,直接放在根目錄htdocs是有問題的
3.在Windows上完成上述任意環(huán)境配置
到此這篇關(guān)于PHPMyAdmin及權(quán)限配置的文章就介紹到這了,更多相關(guān)PHPMyAdmin權(quán)限配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python3 常見解密加密算法實(shí)例分析【base64、MD5等】
這篇文章主要介紹了python3 常見解密加密算法,結(jié)合實(shí)例形式分析了Python的base64模塊加密,以及基于pycrypto模塊的MD5加密等相關(guān)操作技巧,需要的朋友可以參考下2019-12-12計(jì)算機(jī)二級(jí)python學(xué)習(xí)教程(2) python語言基本語法元素
這篇文章主要為大家詳細(xì)介紹了計(jì)算機(jī)二級(jí)python學(xué)習(xí)教程的第2篇,Python語言基本語法元素,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05Python GUI編程學(xué)習(xí)筆記之tkinter界面布局顯示詳解
這篇文章主要介紹了Python GUI編程學(xué)習(xí)筆記之tkinter界面布局顯示,結(jié)合實(shí)例形式分析了Python GUI編程中tkinter界面布局顯示的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2020-03-03Pandas的read_csv函數(shù)參數(shù)分析詳解
這篇文章主要介紹了Pandas的read_csv函數(shù)參數(shù)分析詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07