2017-11-18 96 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

相关问题