实施openssl会阻止用户更改按钮值吗? 我研究过加密按钮,从托管到使用openssl。 使用托管按钮会以灵活性为代价提供安全性,尽管有些变量可以覆盖,但仍然无法覆盖重要的变量。
在我的网络服务器上使用和实现openssl会阻止用户更改非托管的PayPal按钮吗?
或者回到托管按钮并使用IPN使用/验证会更好吗?
答案 0 :(得分:0)
最好的解决方案是使用Express Checkout。这使您可以比标准按钮为您提供更大的灵活性。
如果您正在考虑使用IPN,那么您可能足以集成Express Checkout。实际上,它是1个API调用,然后是重定向到PayPal,还有至少1个API调用来完成付款。
典型的流程如下:
要开始使用此功能,我建议您查看他们在https://www.x.com/community/ppx/sdks#NVP提供的PHP NVP SDK
答案 1 :(得分:0)
我的回答是非PayPal特定的(适用于任何类型的HTTP表单输入),但简短的回答是否定的。甚至SSL也无法阻止浏览器修改它收到的表单值。
用户可以在加载后使用bookmarklet在页面上执行自己选择的JavaScript程序,该程序可以更改表单值。因为SSL仅保护浏览器和服务器之间的传输,而不是在浏览器处理页面之后,所以无论您是否使用它都没有任何区别。
这可以通过Greasemonkey实现自动化,这是同样的想法,除了让用户更容易安装其他人的JavaScript程序在您的网页上运行。如上所述,使用SSL根本不会影响这一点,因为它都是执行客户端,您作为服务器无法控制。
正如您所提到的,使用加密的PayPal按钮可以解决问题,因为任何对按钮参数的修改都会使校验和无效,而PayPal也不会接受该项目。