2009-11-11 48 views
3

通常,文件服務器用於存儲Web應用程序的圖像。爲了更安全和控制,您需要將圖像存儲在數據庫中。但這證明是複雜和緩慢的。除了存儲在數據庫上之外,還有哪些安全地存儲圖像的選項?

是否有其他可用的不是db /文件服務器等主流選擇,與用戶權限安全地存儲圖像等

編輯:我可以部署在亞馬遜雲計算和使用PostgreSQL作爲分貝。

回答

3

SQL Server 2008提供了the Filestream storage這使您可以將數據存儲在文件系統中,然後通過數據庫訪問數據。如果你僅僅關心使用數據庫就是性能,這會很有用。

+0

感謝@Konamiman目前我正在部署在亞馬遜,這是偉大雲並使用postgresql作爲數據庫。 – Satya 2009-11-11 09:30:29

0

你關心的人猜測URL和直接訪問的圖像?

如果是這樣,您仍然可以將圖像放在文件系統上,就在www目錄之外。您創建一個名爲ImageServer.php /的.aspx/.JSP頁面,抓住圖像關閉文件系統,然後在響應提供到一個URL,如:

ImageServer.php?image=BlueWhale.png 

如果你這樣做,要注意正確設置MIME類型和過期標題,因爲Apache/IIS不會爲你做。

2

如果圖像存儲不具有直接的網絡訪問權限的文件夾中,你就可以做

<img src="getimage.aspx?id=1234"> 

,有你的getImage「頁」做任何appropraite權限測試(例如,使用會話ID),然後「交付「來自安全文件夾的圖像。

缺點是圖像不緩存我覺得呢?但我希望數據庫路由也是如此。

在phyiscal數據庫中存儲的圖像漲大的數據庫,增加備份恢復&倍;但它提供了一個容器,如果你想移動的一切到一個新的/多臺服務器,或者確保圖像和其他數據在數據庫之間的引用完整性很重要