我有一个使用paypal收集电子显示数据付款的网站.变量不能通过paypal传递URL(或者我无法让它们工作)所以我使用cookie来传递项目编号.但是,在cookie写入部分之后,一个狡猾的用户可以直接在地址栏中输入paypal重定向URL并免费获取电子数据.绕过贝宝.我怎么能绕过这个?
这是一些代码.您将看到我试图通过直接通过cookie写入(pre_contact.php)和paypal重定向URL(step.php)来使用户变得困难.
//pre_contact.php "; ?> //contact.php - paypal pay button echo ""; //step.php - paypal redirect on successful payment //generate_url.php - This generates a unique URL so the info can only be accessed once //get_file.php - displays the file after payment $qtoken = $_GET['q']; if ($qtoken===$_COOKIE["token"]){ $id=$_COOKIE["property"]; DISPLAY FILE HERE!!
提前致谢
您可能正在寻找的是Paypal IPN(即时付款通知)..基本上有人从您那里购买产品... Paypal POSTS数据到您指定的脚本/网址(只有您和他们知道)..然后您做什么将数据发回Paypal以确认他们发送的帖子是真实的,而不是由某人模拟/伪造.此时您知道交易有效.
一旦您收到有效付款的通知,您可以执行类似的操作,例如通过电子邮件发送下载URL,或使用像HTACCESS auth这样简单的东西将所有内容包装到一个小型登录/密码系统中,您就可以开始使用了.
祝好运.
我认为你无法通过所采用的方法一步完成你想做的事情,因为你的代码无法知道交易是否真的成功完成.
我认为上述方法的唯一方法是,如果您不自动将它们发送到他们付费的文件.
相反,他们必须等待您通过Paypal验证他们的交易,然后通过电子邮件向他们发送下载链接.
它可能都可以使用Paypal API自动完成.我不熟悉Paypal API,但它应该像这样工作.
用户决定从您那里购买东西
您启动一个将用户发送到Paypal的交易,并且可能会生成某种交易ID.
用户付款(或决定取消和/或不付款)
用户返回您的站点
您获取交易ID并验证付款是否成功
如果付款成功,请向用户提供他们付款的内容.