php - 只接受来自定义的推荐人 URL 的访问?

标签 php web paypal

我的网站上有一个 Paypal 按钮,并且我有一个页面,Paypal 会在用户完成付款后将其引导至该页面。我如何确保只有 paypal.com 推荐访问此页面的人?

最佳答案

您可以使用 $_SERVER["HTTP_REFERER"]获取引荐来源网址并对照 paypal.com 检查它

$referer = $_SERVER['HTTP_REFERER'];
$referer_parts = parse_url($referer);
if($referer_parts['host'] == "paypal.com") {
    echo "good";
} else {
    echo "bad";
}

注意:

'HTTP_REFERER'

The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.

我认为没有任何可靠的方法可以检查用户来自何处。我可以简单地转到一个 paypal 页面并简单地运行 location.href='http://yoursite.com/yourpage.php' 或在 DOM 中插入一个链接,我可以点击它,而你不会没有任何方法可以知道。

我认为,唯一的方法是,如果 Paypal 将客户发送到您的站点,并提供一个您可以在自己端验证的唯一代码。这样,只有拥有代码的人才能访问您的页面。

关于php - 只接受来自定义的推荐人 URL 的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11166029/

相关文章:

php - 通过 .htaccess 的 Gzip 压缩不起作用

paypal - 需要一个 API 来代表第三方接受付款

php - 如何按字母顺序列出 mysql 数据,并使用第一个字母作为选择选项

php - Laravel 5.1 队列作业 $this->delete() 不工作

php - Laravel 在自己的项目中使用包

html - 如何使用 css 更改选项卡大小?

php - Laravel Eloquent - 日期属性未作为 Carbon 对象检索

web - 我的 Polymer 网站在 MS Edge 上完全崩溃

支付宝自动取款

php - 使用 PHP 和 Regex 提取 Paypal 按钮 ID