我在我的网站上有一个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'
页面的地址(如果任何)将用户代理引用到当前页面的 。这由用户代理设置。并非所有用户代理都会设置此项,有些用户代理可以将HTTP_REFERER修改为 功能。总之,它不能真正被信任。
我不认为有任何可靠的方法来检查用户来自哪里。我可以简单地转到一个PayPal页面,只需运行location.href='http://yoursite.com/yourpage.php'
或在DOM中插入一个链接,我可以点击,并且您无法知道。
我认为唯一的办法是,如果贝宝用客户端发送的唯一代码将客户发送到您的网站,那么您可以在自己的端点进行验证。这样,唯一能够访问你的页面的人就是拥有代码的人。
为什么不用某种形式的'if'语句?我可以修改代码,但不能写出值得挽救我的生活的代码,但我认为如果我知道如何从头开始编写代码,我会这么做。 –
你知道这不是一个解决方案吗? –
@AdamSack我没有包含代码,因为它不是一个可靠的方法(据我所知没有一个方法),我不希望Colby只是复制/粘贴,认为它是万无一失的。另外,我的回答太长,无法发表评论。无论如何,我已经包含了代码。 – sachleen
- 1. 获取引荐来源网址在Laravel
- 2. 只允许来自引荐网址的流量
- 3. 基于引荐来源网址的重定向
- 4. 使IPython Notebook只接受来自给定地址/子网的连接
- 5. 只接受来自特定子网的连接
- 6. Winsock,只接受来自特定IP地址的请求
- 7. 只渲染来自Drupal 7自定义字段的网址
- 8. 当访问者从HTTPS网站以Google身份访问时,如何获得引荐来源网址
- 9. 只允许来自特定网络的网站访问
- 10. 从引荐来源网址中提取关键字
- 11. 在wp-admin-ajax.php中获取引荐来源网址
- 12. 只接受来自已认证用户的某些ajax请求
- 13. Zend插件为每个访问者捕获引荐来源
- 14. 允许仅从某个引荐来源访问页面
- 15. 使用python接受来自网址的参数
- 16. 按国家重定向来自引荐来源域的传入流量
- 17. 确定来自推荐人的流量来源标头特征
- 18. 只接受来自一个网站的Cookies:PHP
- 19. 重定向来自Youtube的传入引荐链接
- 20. 如何确保引荐来源网址是通过传统ASP发布的?
- 21. 连接到来自java的https网址
- 22. 基于引荐网址的重定向
- 23. 来自Groovy的Pentaho数据源访问
- 24. 获取来源网址 - 观众来自贝宝未来(HTTPS)
- 25. 来自动态来源的HTML对象数据网址
- 26. 来自数据库的自定义PHP网址
- 27. XMLHttpRequest无法加载'网址'。访问控制 - 允许来源不允许来源'网址'
- 28. 评估Sharepoint门户网站的引荐来源
- 29. Firefox不接受访问控制允许来源:*
- 30. 来自引荐者的Regexp JS
贝宝没有安全的方式来确认您的付款。我知道你可以使用authorize.net确认付款。由于您使用贝宝,您可能知道这一点。 –