如何在 php 和 URL 上正确分享照片解决方案 - Webproject
How to share a photo correctly on php and URL solution - Webproject
我对正在进行的网络项目有疑问。
情况:
有登录系统->登录后有很多照片
1) 我输入凭据 -> login.php 到 index.php
2) 我看到了我的个人资料,然后我想在推特上分享它(例如..)。
3) 我分享的是 URL 即 "page.com/index.php#&album=1&id=1"
问题是 URL,如果我分享了将毫无用处,因为如果其他用户有帐户,将显示他的照片而不是我的。
我正在努力寻找解决办法,不知道其他网站怎么分享照片没有这个问题。
希望你能帮助我,如果我的英语不是最好的,抱歉。
您需要多创建一个分享图片的路径
/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
我会为存储在照片旁边的每张照片生成一个 UUID,并在 URL 中使用它而不是两个 ID,所以你的 URLs看起来像:
http://example.com/photos/123e4567-e89b-12d3-a456-426655440000
然后您可以将此 URL 分享给任何人,并将逻辑添加到服务器以决定照片是否应该对请求它的人可见。
如果您想要一个更容易记住或易于输入的 UUID,有很多库可以为您创建不同格式的 UUID。
这样做的主要好处是简单,你只有那张照片的 UUID,无论你的设计如何变化(例如,如果你删除相册),你都有很好的机会能够保持 URL 不变,或者至少,如果您将来确实需要更改格式,可以继续支持原始 URL。
另一个很大的好处是,无论您使用什么作为 UUID 都将(应该)难以猜测,因此您为攻击者移除了潜在的路径,否则攻击者可能会遍历 ID,并且有信心他创造了一个真正的 URL.
我对正在进行的网络项目有疑问。
情况: 有登录系统->登录后有很多照片
1) 我输入凭据 -> login.php 到 index.php
2) 我看到了我的个人资料,然后我想在推特上分享它(例如..)。
3) 我分享的是 URL 即 "page.com/index.php#&album=1&id=1"
问题是 URL,如果我分享了将毫无用处,因为如果其他用户有帐户,将显示他的照片而不是我的。
我正在努力寻找解决办法,不知道其他网站怎么分享照片没有这个问题。
希望你能帮助我,如果我的英语不是最好的,抱歉。
您需要多创建一个分享图片的路径
/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
我会为存储在照片旁边的每张照片生成一个 UUID,并在 URL 中使用它而不是两个 ID,所以你的 URLs看起来像:
http://example.com/photos/123e4567-e89b-12d3-a456-426655440000
然后您可以将此 URL 分享给任何人,并将逻辑添加到服务器以决定照片是否应该对请求它的人可见。
如果您想要一个更容易记住或易于输入的 UUID,有很多库可以为您创建不同格式的 UUID。
这样做的主要好处是简单,你只有那张照片的 UUID,无论你的设计如何变化(例如,如果你删除相册),你都有很好的机会能够保持 URL 不变,或者至少,如果您将来确实需要更改格式,可以继续支持原始 URL。
另一个很大的好处是,无论您使用什么作为 UUID 都将(应该)难以猜测,因此您为攻击者移除了潜在的路径,否则攻击者可能会遍历 ID,并且有信心他创造了一个真正的 URL.