如何保证 PayPal 变量的安全
Posted
技术标签:
【中文标题】如何保证 PayPal 变量的安全【英文标题】:How to keep PayPal variables secure 【发布时间】:2011-02-25 13:16:48 【问题描述】:我正在尝试将我的第 3 方购物车链接到 PayPal,在此过程中我发现我的变量非常暴露,因此,如果有人使用 Firebug 来操纵我的变量的值,他们可以改变交易中物品的成本。
我对在线购物车和购物非常陌生,所以我的问题是如何使这一层远离用户并保护网站的安全?
【问题讨论】:
您使用的是哪种 PayPal 集成方式? 在他们的文献中,他们称之为“将 Paypal 与第三方购物车集成”。基本上,人们在网站上积累了一个购物车,当点击提交时,该数据通过 POST 发送到 paypal.com,其余交易完成。 【参考方案1】:答案就在即时付款通知服务中。
完成交易后,PayPal 会在单独的流程中通知您最后一笔交易的付款详情。
您可以对照您在本地存储的数据检查这些详细信息。如果他们匹配,一切都很好。如果它们不匹配,您将需要调查问题。
一直不明白为什么 PayPal 不允许使用某种哈希 + 共享密钥对数据进行签名...但这对您没有任何帮助。
如果您将变量发布到 PayPal,您可以加密数据。不幸的是,这对于由重定向触发的 GET 请求是不可能的。
【讨论】:
我认为它确实允许您设置共享密钥。我的问题是,没有关于使用购物车发送哪些标准变量的解释,因此贝宝知道它是一个包含多个项目的加密购物车。我所能做的似乎就是购买单件商品。 我想重申,我的主要问题是使用此解决方案:stellarwebsolutions.com/en/articles/… 最终按钮本身带有一个变量_s-xclick
来表示安全点击,但加密数据数组您发送的变量带有_cart
及其相关的购物车数据集。【参考方案2】:
有一种方法可以让 PayPal 在他们这边托管按钮变量。在他们的文档中寻找 PayPal Hosted Buttons:
https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ButtonMgrAPIIntro#id093VD0JE0Y4
否则,如 Jacco 所述,使用 IPN 进行验证。
【讨论】:
【参考方案3】:使用 PayPal NVP 或 SOAP API 创建加密按钮。基本上,您使用 php 设置所有信息,然后 API 为您提供 html。 或者,如果您只有几个产品,您可以制作自定义按钮。
API 文档齐全且易于使用。我个人使用 NVP,因为它被推荐给经验不足的程序员。您还可以将两者与 IPN(即时付款通知)系统一起使用,以便可以自动通过电子邮件发送数字产品。
【讨论】:
以上是关于如何保证 PayPal 变量的安全的主要内容,如果未能解决你的问题,请参考以下文章