2015-08-15 43 views
0

我在放置在web public_html根目錄上的文件夾中存在文件,並希望爲已購買產品的客戶(電子商務商店上的數字下載)回顯散列鏈接。最佳做法/如何保護超過root的文件並散列鏈接以便在受限制的登錄帳戶區域顯示給客戶?

帳戶區域頁面是.php,當然客戶將使用他們的登錄名/密碼訪問此頁面,並且有權查看/下載他們購買的產品,這些產品通過使用函數從數據庫獲取訂單來顯示調用並回顯頁面上的表格行信息。該頁面通過經過身份驗證的客戶(​​client_id)登錄名/密碼進行訪問受限。

我的文件url路徑是寫在MySQL數據庫中,所以應該可以在echo上訪問,但我想散列鏈接,以便客戶不能簡單地在網絡上共享直接url(如他們所做的......海盜arrahhh!)。

我確定將所述文件放在根上面,還是最佳做法是散列這些鏈接以增加保護以避免SQL注入以及如果是這樣,我需要實現什麼代碼來保護東西?

我最終想要做的是保護文件服務器端,並顯示一個哈希鏈接到那些以及只有那些購買了/產品的客戶。但是,我不確定(如何)什麼最能保護我,我的檔案和客戶的投資......?

謝謝!

使用PHP,我可以使用什麼代碼安全地向用戶分發/打印文件?我被困住了一個答案。

+2

散列鏈接不會解決問題。哈希鏈接仍然是一個鏈接。將文件放在文檔根目錄之外意味着您需要使用其他機制來提供URL。 – Quentin

+0

謝謝!那麼,我將如何解決這個問題? –

+0

我已更新並添加了更多關於需求的信息;尋求建議和協助。謝謝。 –

回答

0

我已經解決了這個確切的問題。我的策略是在Amazon CloudFront上託管文件並使用簽名的URL。當頁面被加載時,爲該用戶創建一個URL。您可以通過允許URL在特定時間段或特定IP等情況下有用來限制共享此鏈接。

+0

謝謝,但我不希望承擔額外的費用,因爲我已通過GoDaddy支付了費用。這些鏈接必須沒有期限,以便客戶隨時隨地訪問(登錄到賬戶),並且不能卡住IP地址,因爲我確定大多數ISP使用動態而非靜態。任何其他選項,我正在尋找代碼?歡呼 –

+0

任何想法?仍在搜索信息如何... –

+0

凹凸不平的回覆請... –

相關問題