我正在为某个网站建立一个票务系统,用户可以从这个系统为某些活动预定门票。我的预订机制是这样的:
问题是:任何恶意用户都可以通过观察开发人员工具中的网络点击来知道成功签出被重定向到的url,并向此页面"generate_ticket.php“发送请求并获得免费票。
下面是我解决这个问题的想法:
$_SERVER['HTTP_REFERER']变量,并将其与paypal的URL进行比较。但问题是,正如手册中提到的那样。将用户代理转到当前页的页(如果有的话)的地址。这是由用户代理设置的。并不是所有的用户代理都会设置它,有些代理还提供了将HTTP_REFERER作为一个特性进行修改的能力。简而言之,它是不可信的。
可以修改此变量。因此,它是不可靠的,至少不是单独的。
那么,是否有人有任何解决方案来修复这些漏洞或阻止用户请求免费票证呢?
发布于 2020-04-18 11:46:09
贝宝有一个名为IPN的特性,基本上,一旦您在generate_ticket.php上获得数据,您就不会直接向用户发送票证,一旦创建了一个事务,您就可以在数据库中插入带有挂起状态的记录并在paypal的响应上更新它,在这里IPN起作用,在事务完成后,Paypal将发送一个作为notify_url提供的post请求,您将在其中处理发送用户罚单的脚本。
https://stackoverflow.com/questions/61288436
复制相似问题