2017-11-18 100 views
0

我有一個關於Web項目的問題。如何在php和URL解決方案上正確共享照片 - Web項目

的情況: 有一個登錄系統 - >登錄後,在有大量的照片。

1)我與我的憑證輸入 - > login.php中的index.php

2)我看到我的個人資料,然後我想與Twitter(例如分享..)。

3)我分享的東西是它的網址是 「page.com/index.php# &專輯= 1個& ID = 1」

的問題是URL,如果我分享將是無用的因爲如果其他用戶有一個帳戶,將顯示他的照片,而不是我的。

我試圖找到一個解決方案,我不知道其他網站怎麼做沒有這個問題分享照片。

希望如果我的英語不是最好的u能幫助我,對不起。

+0

瞭解'嘰嘰喳喳cards' – urfusion

回答

0

我會通過生成UUID存儲旁邊的照片的單張照片,並使用在URL中,而不是兩個ID,所以你的URL看起來像這樣:

http://example.com/photos/123e4567-e89b-12d3-a456-426655440000 

然後,您可以將此URL分享給任何人,並將邏輯添加到服務器中,以決定照片是否對任何請求的人都可見。

如果你想要一個更難忘的或容易輸入UUID,有很多會以不同的格式創建它們的庫。

這樣做的主要好處是簡單,您只需爲該照片設置一個UUID,而且無論您的設計如何更改(例如,如果刪除相冊),您都有很好的機會如果您確實需要更改未來格式,可以保持URL相同或至少繼續支持原始URL。

另一個很大的好處是,無論你用作UUID將會(應該)很難猜到,因此你爲攻擊者刪除了一條潛在路線,否則攻擊者可能能夠遍歷ID,並且有信心他是創建了一個真正的URL。

-1

您需要製作一條路線才能分享照片。

/share.php?user=1&album=1&id=1 

在此文件中,您將獲得所有參數(用戶,專輯,ID)以顯示正確的照片。

而且你需要添加這條路線中的index.php分享。

Facebook的例子:https://www.facebook.com/sharer/sharer.php?u=http%3A//site.com/share.php?user=1%26album=1%26id=1

+0

這樣做的風險在於,如果'user' ID是用戶不變,您已經添加了一個潛在的安全漏洞,因爲如果您與我合影,我可以潛在地嘗試爲「相冊」和「ID」嘗試不同的值並收集所有照片。很明顯,你將在服務器上進行一些檢查來驗證我是否有權訪問這些照片,但是如果該安全中存在任何小洞,我還有一個額外的機會來完成,這對我來說是不可用的如果使您的網址與照片,相冊或用戶的實際ID無關。 – DaveyDaveDave

+0

我想問題在「如何顯示正確的照片?」。安全是重要的事情,但這是另一回事 – Artoa

相關問題