在 Paypal 的 "buy now button" 表单中为 userId 使用自定义字段是否安全?

Is it safe to use custom field for userId in Paypal's "buy now button" forms?

当我收到通过 IPN 付款的通知时,我需要知道我的哪些用户付款了。

一个推荐的方法是在 "buy now button" 的表单中添加一个隐藏的 "custom" 字段,该字段将由 IPN 传回。

不过,我认为恶意用户可以利用它。例如,假设 userA 和 userB 都是 siteC 的用户。 UserA 知道 html,他制作了一个 "buy now button",但复制了 siteC 上的内容,并将 "custom" 字段设置为 "userA's Id",并以某种方式让用户 B 单击此按钮。

在这种情况下,用户B支付的时候,不是为自己支付,而是为用户A支付。

如何解决这个问题?

任何 html <form /> 字段都可以简单地 manipulated/tampered 。 "Never trust the client" 是操作思维,需要 验证 提交给您的应用程序的任何数据,然后再对其采取行动。

您可以考虑使用该字段对您 send/expect 的数据进行哈希处理或加密,然后在回显给您的应用程序时分别进行验证或解密。

如果可行,请查看 options provided by Paypal to secure your payment buttons - 这样您就不必自己做..或者至少不需要 "all"...

第...