我有一个简单的问题。如果有人能回答我,我非常感激。我有一个Web应用程序,它向订阅者发送下载链接。订阅者可以从他们的收件箱中单击该链接并获得下载pdf文档的权限。这很好,但我想要的是仅在从他的收件箱中点击链接时才允许访问pdf文档。我的意思是,如果订阅者将此电子邮件转发给其他人,或者尝试手动将链接粘贴到浏览器中,则应该无效。提前谢谢。
答案 0 :(得分:3)
你想要的是不可能的。
请考虑以下情况:您发送电子邮件至someone@example.com。他们可以通过以下方式查看电子邮件:
a)桌面邮件客户端
b)智能手机/平板邮件客户端
c)Webmail
这三个内容与您的服务器显示“不同”,具体取决于他们在您的链接中点击了哪个客户端。如果用户将电子邮件转发给其他人,请说otherperson@example.com
,则相同的链接将是在那个人的邮件文件中,他们可以通过完全相同的选项查看它。
您可能能够从参考 IF 中提取用户名或其他个人身份识别数据,他们使用的是webmail,而且网络邮件系统愚蠢到足以{{1 }}
但除此之外,不,你不能假设传入的点击,只有SOMEONE点击了某个电子邮件中的链接。
答案 1 :(得分:1)
无法判断是否从电子邮件客户端打开了链接,或者是否已将其粘贴到地址栏中。没有办法跟踪电子邮件是否已被转发(大多数电子邮件客户端都阻止了HTML格式的电子邮件中的webbug图像)。
如果您想限制谁可以从您的服务器下载文件,请要求用户登录,然后希望他们中没有人参与密码共享。
即使这样也不会阻止他们直接重新分发文件。
答案 2 :(得分:1)
实际上不可能“保护”链接。
但是,如果您的Web应用程序要求用户登录,您可以为每个用户生成一个唯一的链接,并要求他在允许下载之前登录。
与简单的网址相比,人们不太可能分享他们的登录名/密码。