我有一个关于网络项目的问题。
情况:登录后有一个登录系统->,里面有很多照片。
1)我带着我的证件进入-> login.php to index.php
2)我看到了我的个人资料,然后我想和twitter分享它(例如..)。
3)我分享的是URL,即“page.com/index.php#&相册=1&id=1”。
问题是URL,如果我分享将是无用的,因为如果另一个用户有一个帐户,将显示他的照片,而不是我的。
我试图找到一个解决办法,我不知道其他网站如何做分享照片没有这个问题。
希望你能帮助我,如果我的英语不是最好的,很抱歉。
发布于 2017-11-18 07:38:37
为此,我将为存储在照片旁边的每一张照片生成一个UUID,并在URL中使用它而不是两个ID,这样您的URL看起来就像:
http://example.com/photos/123e4567-e89b-12d3-a456-426655440000然后,您可以将此URL共享给任何人,并将逻辑添加到服务器,以决定照片是否应该对请求照片的人可见。
如果您想要更令人难忘或更容易输入UUID,那么有很多库将以不同的格式为您创建UUID。
这样做的主要好处是简单,您只有一张照片的UUID,无论您的设计如何更改(例如,如果您删除相册),您很有可能保持相同的URL,或者至少,如果您将来需要更改格式,则可以继续支持原始URL。
另一个很大的好处是,无论您使用什么UUID,都很难猜测,因此您可以为攻击者删除一条潜在的路由,否则攻击者可能会遍历ID,并且相信他已经创建了一个真正的URL。
发布于 2017-11-18 07:26:25
你需要多做一条分享照片的路。
/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
https://stackoverflow.com/questions/47363394
复制相似问题