我正在開發一個使用Yii框架的網站。在我的網站上我有用戶配置文件(已經實施)。我將有一個文件上傳器,以便用戶可以上傳配置文件圖像。一些配置文件可能公開,其他配置文件可能是私有的。公共用戶應該無法訪問私人配置文件,除配置文件的所有者外,此配置文件中的圖像可能無法訪問任何人。如何私密存儲用戶個人資料圖片,以便只能由個人資料所有者訪問?
我已經讀過,將圖像存儲在MySQL數據庫中是一個壞主意,因爲它會殺死性能,並可能會在我的虛擬主機上被禁止。我曾考慮將圖像存儲在受保護的目錄中,但如果在這裏完成,我將無法鏈接到圖像。那麼我怎麼能夠在有效的配置文件(公共配置文件或屬於用戶的配置文件?)上顯示圖像?
任何暗示或想法將不勝感激(與Yii,PHP或任何其他)。如果我的問題不清楚,請告訴我。謝謝。
*順便說一句,我從來沒有正式的網絡開發課程,和其他許多人一樣,我已經在自己的時間學到了我所知道的一切,所以很可能我錯過了一個非常簡單/明顯的解決方案。
聽起來像它是你需要解決的架構的實現。您應該存儲他們是私人或公共的用戶類型,然後檢查查看者何時試圖查看某人的個人資料。如果他們未以他們試圖查看的配置文件的(私人)用戶身份登錄,請不要向他們顯示任何內容。 – thescientist 2012-02-28 18:50:42
感謝您的回覆。我想我對此並不完全清楚。我已經按照你的建議(私人和公共用戶)實現了它,並且破解url的用戶被髮送到一些錯誤頁面/拒絕訪問頁面。然而,我擔心的是,「聰明」的用戶仍然可能通過一些URL黑客訪問私人用戶的圖像(因爲圖像存儲在公共領域)。如上所述,我不想將其存儲在受保護的域中的原因是,我無法在用戶頁面上顯示圖像,但也許我錯誤地認爲這是錯誤的? – Denzil 2012-02-28 19:02:14