我在wordpress中使用S2member插件来生成对PPV内容的访问(体育赛事视频)。这是在付款后设置为单页访问。当用户点击购买时,它会将他们带到paypal,然后在付款后将其重定向回受限制的页面,其中包含一个独特的网址字符串。
现在我的问题是,虽然每个购买的用户都会获得一个唯一的网址字符串,但他们可以将其复制并发送给其他人,并将这些内容的访问权限发送给他们想要的任何人而无需付费。
我想通过一些允许只有一个唯一的URL(字符串)同时访问该页面的内容来弥补这个漏洞。因此,即使他们提供了网址,也只有一个人可以同时进入,结束了多个免费用户。
这可能吗?
答案 0 :(得分:1)
最终,对于希望重新分发内容的用户,您无能为力。即使您将URL作为一次性使用,客户仍然可以下载一次并将其复制给其他人自己。为了抵消这种情况,您可以考虑使用水印来使每个客户的内容独一无二,这样,如果您在野外找到副本,您至少可以知道哪个客户重新分发了内容。
话虽如此,你问的问题没有意义。你说“只允许一个唯一的URL(字符串)同时访问页面”,但是urls(字符串)不访问网页,用户代理会这样做!
至少有两件事可以让客户更难以重新分发用于下载内容的URL,并可能会随意尝试重新分发。两者都要求您在URL访问时运行一些代码(脚本等)...它们不是您将.htaccess
本身放入的配置。
将网址设为一次性使用。
每当访问唯一的URL时,请检查一个数据库,该数据库标记以前是否使用过每个唯一的URL。如果之前没有使用过,请将其标记为已使用。如果之前已经使用过,请拒绝该请求。
专业:简单
Con :非常让下载中断或中断的用户感到烦恼。他们无法重试!
使用Cookie使网址仅在一个浏览器中有效。
每当访问唯一URL时,请检查用户代理是否提供了具有特定名称的cookie。如果没有,这可能是第一次访问此URL。检查数据库以查看是否已为此唯一URL设置了cookie。如果是,则拒绝该请求。如果不是,则为此cookie选择一个新的随机值,并将其设置在数据库中并将其与响应一起返回。如果用户代理 提交了一个cookie,请检查其对数据库的值以确保它是正确的,并且仅在是的情况下允许该请求。
Pro :一位客户可以从一个浏览器无限次访问该网址
Con :智能用户可以从浏览器中复制Cookie值并将其发布,以便其他人可以在浏览器中手动设置它并阻止您的保护方案。