1

我有一个出售电子书的 wordpress 网站。我已经制作了两个不同的页面进行销售,即一个页面显示项目以及 paypal 立即购买按钮,另一个页面添加了实际链接以供下载。

当通过贝宝进行交易时,它会被重定向到下载页面。问题是浏览器窗口中的网址。如果它被复制,则直接打开页面并可以共享。那么我该怎么办(任何更好的解决方案)。或者我应该如何在浏览器中隐藏 url,使其无法进一步使用。可能就像掩盖链接一样。

如果可能的话,提出一些解决方案。

4

2 回答 2

1

我会做以下事情:

  • custom在字段中将订单 ID 发送到 PayPal
  • 在订单成功页面,生成一个只能使用一次的下载链接,并将订单标记为“已交付”。这会导致链接不可用。
  • 确认 PayPal 付款后(在您的 IPN 监听器中),还发送一封电子邮件,其中包含订购的电子书。

这具有以下优点:

  • 用户从PayPal返回后可以下载书籍
  • 下载链接一经下载,其他人无法访问。
  • 即使丢失了 pdf,用户也可以访问这些书籍。

另外,我建议将书籍保存在 web 根目录之外,并制作具有类似于以下代码的下载链接 php 文件:

 $book = '...'; // get book
 /** check if the book has already been downloaded */
 $content = file_get_contents($book->getFile());
 header("Content-Type: application/pdf");
 header("Content-Disposition: attachment;filename={$book->getTitle()}");
 echo $content;

这样您就可以完全控制谁下载文件。

于 2013-08-27T12:18:59.313 回答
0

您可以从页面发送任何标志或会话 ID,您将在该页面重定向到支付宝,然后在成功页面上获取该会话 ID 或标志并执行匹配。

像这样的东西:

$url=http://exampl.com/$_SESSION['id'];

and on success page :
if($URL_id==$_SESSION['id']){
//proceed
}
else
{
redirect("http:example.com");
}
于 2013-08-27T12:09:06.457 回答