明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

提高M(jìn)ySQL數(shù)據(jù)庫的安全(4)

[摘要]從網(wǎng)絡(luò)角度談?wù)勅绾翁岣進(jìn)ySQL數(shù)據(jù)庫的安全性當(dāng)連接MySQL數(shù)據(jù)庫到網(wǎng)絡(luò)的時候,一些特殊的安全問題就出現(xiàn)了。建立一個專門用于網(wǎng)絡(luò)連接的用戶并不是一個壞主意。這樣可以授予他們必要的、最少的權(quán)限,從而不給用戶授予以下一些權(quán)限,例如DROP、ALTER或CREATE權(quán)限。我們可能只在類型表中授予SEL...
從網(wǎng)絡(luò)角度談?wù)勅绾翁岣進(jìn)ySQL數(shù)據(jù)庫的安全性

當(dāng)連接MySQL數(shù)據(jù)庫到網(wǎng)絡(luò)的時候,一些特殊的安全問題就出現(xiàn)了。

建立一個專門用于網(wǎng)絡(luò)連接的用戶并不是一個壞主意。這樣可以授予他們必要的、最少的權(quán)限,從而不給用戶授予以下一些權(quán)限,例如DROP、ALTER或CREATE權(quán)限。我們可能只在類型表中授予SELECT權(quán)限,而只在訂單表中授予INSERT權(quán)限。此外,這還是如何應(yīng)用最少權(quán)限原則的例證。

提示:在之前的內(nèi)容中我們說了PHP的addslashes()函數(shù)和stripslashes()函數(shù)以去掉任何可能產(chǎn)生問題的字符。記住這樣做和在將任何數(shù)據(jù)發(fā)送到MySQL數(shù)據(jù)庫之前要執(zhí)行一個常規(guī)的數(shù)據(jù)清理都是非常重要的。你可能記得,我們曾經(jīng)使用了doubleval()函數(shù)來檢查數(shù)字類型的數(shù)據(jù)是否真正是數(shù)字類型的數(shù)據(jù)。我們經(jīng)常容易犯的一個錯誤就是會忘記它——人們往往記得使用addslashes()但是忘記檢查數(shù)字類型數(shù)據(jù)。

應(yīng)該經(jīng)常檢查來自用戶的所有數(shù)據(jù)。即使HTML表單中由選項框和按鈕組成,一些人還是可能通過企圖修改URL以進(jìn)入腳本。此外,還應(yīng)該檢查用戶數(shù)據(jù)的大小。

如果用戶輸入的密碼或機密數(shù)據(jù)需要保存在數(shù)據(jù)庫中,請注意,如果不是SSL(Secure Sockets Layer,加密套接字層),這些數(shù)據(jù)將以純文本的方式從瀏覽器傳遞到服務(wù)器。關(guān)于SSL的用法,在以后將會說到。


刪除風(fēng)險組件

MySQL數(shù)據(jù)庫的默認(rèn)配置有一些不必要的組件,你可以考慮以下建議:

1. 禁用LOAD DATA LOCAL INFILE指令

這個命令允許用戶讀取本地文件甚至訪問其他操作系統(tǒng)上的文件,這可能幫助攻擊者收集重要的信息并利用應(yīng)用程序的漏洞侵入你的數(shù)據(jù)庫。你需要做的是把set-variable=local-infile=0插入到MySQL數(shù)據(jù)庫的my.cnf文件中,來禁用這個指令。

2. 刪除測試數(shù)據(jù)庫

有一個默認(rèn)的“測試”數(shù)據(jù)庫用于測試目的。由于這個數(shù)據(jù)庫有安全風(fēng)險,匿名用戶也可以訪問,你應(yīng)該使用mysql> DROP database test;指令盡快把它清除掉。

3. 刪除歷史文件

MySQL服務(wù)器有一個歷史文件,它可以幫助你在安裝出錯的時候找到問題所在。歷史文件包含敏感信息,比如說密碼,如果這些信息被攻擊者獲得,那么將會給你的數(shù)據(jù)庫帶來巨大的安全隱患。在安裝成功后,歷史文件并沒有什么用,因此你可以使用cat /dev/null > ~/.mysql_history指令來刪除文件當(dāng)中的內(nèi)容。

【相關(guān)推薦】

提高M(jìn)ySQL數(shù)據(jù)庫的安全性(一)

提高M(jìn)ySQL數(shù)據(jù)庫的安全性(二)

提高M(jìn)ySQL數(shù)據(jù)庫的安全性(三)

以上就是提高M(jìn)ySQL數(shù)據(jù)庫的安全性(四)的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。