2011-10-22 63 views
2

我開始學習一些關於mysql的知識,當我在閱讀時,我一直認爲mysql上的安全漏洞非常巨大,如果有人不能真正理解,關於MySQL的一切。mysql漏洞。將數據保存在php文件或mysql數據庫中

如果我有一個網站,將不會存儲信息的一個非常大的體積,這將是壞將其存儲在.php文件?

這有什麼含義和漏洞?

在我看來,風險要小得多,因爲如果.php文件沒有echo語句,如果你嘗試訪問它,你只能看到一個空白頁面,如果你無法'發送代碼「,並將文件發送到網站,就網站而言應該是安全的(顯然,如果服務器本身被黑客入侵,攻擊者幾乎可以控制所有內容,但這不是這個問題的關鍵)


更新的問題。

似乎有什麼我上面寫的是不生產的那種,我期待的答案,所以我會盡量簡化。

我正在尋找這是爲什麼是數據庫比平面文件更安全不帶偏見,因爲大多數人我已經在這個問題上閱讀的東西大概只想說數據庫是更安全的,但不能說爲什麼。是的,他們更快,更容易操縱數據,特別是如果它是複雜或多個用戶,並且有很多信息。關於這一點,很容易理解爲什麼。

的事實是,當我前幾天開始閱讀關於MySQL我看到,如果你的PHP是損害最有可能等等都是這麼寫,良好的安全的PHP代碼的數據庫可能是防禦的第一個也是最重要的一行到你mysql數據庫。

如果你的PHP是不打折扣的如此如此,如果你編寫好安全的PHP你存儲在PHP文件的信息,平原PHP文件的安全性會很好。

有數據庫,也讓您使用PHP函數,通常你不會用,其中一些具備有被「修補」真正的安全漏洞,所以寫良好的安全的PHP代碼數據庫的工作比寫更復雜同樣安全的代碼來處理純文件。

當你安裝了apache/php/mysql時,如果你的mysql沒有正確的配置和維護,你有3件事情可能會給黑客入口點,如果你鬆開你只有2個,你不會有例如,因爲沒有數據庫不可能發生,你可能會注入所有你想要的sql,但你什麼也得不到。

所以對於管理少量數據,普通文件似乎我像一個安全的,有點複雜的數據工作,速度較慢,但​​沒有相關的考慮,這是我們正在談論的數據量小。

爲什麼這些扣除是錯誤的是我正在尋找這個信息。

+1

爲什麼會收納物?重要的是你如何處理存儲的數據。將某些東西保存到刪除服務器上的文件的PHP文件是拍攝自己的腳的祕訣。 – Furicane

+0

@Furicane這不是重點,與問題無關。而我正在談論的是存儲信息,而不是'命令刪除有效的PHP代碼中的東西' – wxiiir

+0

所以你說,在MySQL中存儲一些數據是一個比在PHP文件中存儲數據更大的安全漏洞,因爲如果沒有'回聲'聲明,什麼都不會發生?我剛剛告訴過你可以,因爲php文件是可執行文件。理論上,有人可以在該文件中存儲任何內容,包括惡意代碼。如果有人將它存儲在mysql中,唯一的問題是你如何獲取這些數據以及你如何處理它。另外,PHP命令一旦從mysql中取出,就不會被評估,如果你把這些東西存儲在一個php文件中,那麼它們是可執行的。沒有更多的信息,我懷疑任何進一步的幫助是可能的。 – Furicane

回答

1

蘋果和橘子。

你可以去到一個拖動種族與悍馬並完成比賽,但你一定會在去年相比,布加迪。採取布加迪越野,它肯定會落後悍馬。

PHP是一種服務器端腳本語言。數據存儲和檢索不是PHP中的主要考慮因素。

mySQL是一個關係型數據庫管理系統。它的設計是100%用於數據存儲,檢索和安全。

你在PHP中的數據存儲和檢索計劃是什麼?似乎將不得不做很多不必要的工作來重新發明輪子來實現這一點。你爲什麼?

不明白你在mySQL中特別擔心的安全問題,沒有什麼更多的補充。

編輯:An article calling out the general differences.

+0

這是一個簡單的問題,可能是一個簡單的(也許很大的)答案,我不知道。存儲在.php文件中的非惡意字符串/數組數據有什麼安全隱患?人們如何看到它或修改它。也是你的比喻是非常有趣的,因爲有可能是布加迪不會完成越野路線xD – wxiiir

+0

@ wxiiir哈哈好點:)所以要回答你關於平板php文件中的數據訪問的問題..它將與訪問你的文件系統。考慮TimThumb(PHP中流行的縮略圖創建腳本)最近的漏洞利用http://wpcandy.com/reports/timthumb-security-vulnerability-discovered。Exploiters想出瞭如何允許他們自己在TimThumb緩存目錄中上傳和執行任意PHP代碼。現在想象一下,如果這個PHP代碼簡單地轉儲了Web目錄中所有文件的內容......他們現在就擁有了所有的數據。 – Gibron

+0

這是很好的信息。讓我們說,如果我有這個被黑客入侵的網站,他們可以很容易地看到將存儲在普通php文件中的信息(如果我以這種方式存儲的話)。現在的問題是,他們爲什麼不能夠看到我的數據庫的信息(如果不是使用普通的PHP文件,我會使用MySQL數據庫)? 我猜想在黑客能夠在網站內部執行任何php代碼的情況下訪問數據庫不會有任何困難,也許最多需要10分鐘才能訪問普通php文件的信息,上午我錯了? – wxiiir

0

這兩點會覆蓋大部分的安全問題:

1)瞭解PDO和準備語句協議。這將處理大部分(如果不是全部)SQL注入問題。不要將原始SQL發送到數據庫。

2)清理所有進入PHP的GET和POST數據。這將處理大多數XSS。

其他語言的許多框架都是爲你做的,但PHP新手只會使用裸露的PHP並且自己承擔各種攻擊。這就是PHP「不安全」的原因。

閱讀關於安全性,並嘗試實現一些你認爲很重要的指針。沒有語言,框架,平臺等是100%安全的。就像生活中的其他一切一樣,你儘可能多地採取措施來儘量減少風險。

+0

我已經知道sql注入,我編碼了很多東西,收集後和獲取數據,我每次都正確地消毒。現在你說php新手只會將內容存儲在純粹的php中,並且爲各種攻擊打開自己,這就是爲什麼php不安全,這是我感興趣的信息,這就是爲什麼我創建這個假設的情況,看看是否有人會知道已知的方式來檢索保存在'flat php文件'中的數據 – wxiiir