使用iframe进行支付是否安全?

7
我有一个问题:使用iframe加载客户将进行付款的页面是否安全。例如Paypal、DineroMail或进行信用卡支付的页面。 因为我的老板希望客户感觉永远没有离开网站,所以我在我的网站上添加了一个iframe(并在其中加载了付款的url),但不知道是否正确和安全。 谢谢。

请遵循已批准的PayPal集成指南。https://developer.paypal.com/docs/classic/products/ - user2864740
3个回答

7
从技术安全角度来看(同源策略),打开一个iframe与打开一个新标签页一样安全。
从用户界面的角度来看,在某些位置打开iframe可能会欺骗用户,如果不小心,你可能会被指控试图让用户误支付费用。
我无法对PayPal的政策做出任何评论,但你应该确保他们同意这种做法。

6
我已经多次与许多客户进行了这样的交流。其中很大一部分原因是1)他不舒服,因为顾客离开他的网站可能会导致结账失败;或者2)他希望客户感觉所有服务都可以在网站上完成。
你的老板需要明白的一件事是,人们喜欢使用PayPal,因为它们值得信赖,而且对他们来说这是一个熟悉的过程。他需要知道的不仅是人们可以接受被重定向到PayPal,而且他们期望如此。如果我遇到一个在PayPal上通过iFrame结账的网站,那么这对我来说就是一个红旗。为什么?因为通过重定向,我可以看到地址栏。我知道我在PayPal的网站上,并且我可以看到是否是安全连接。
如果他坚决不让顾客离开网站,他需要做类似于paypal payments pro的事情。这可能是他真正想要的解决方案。 编辑 我发现自己上周末处理相同问题时找到了你的答案,所以想回来提供更好的建议!

它被称为flex,是自适应支付经典API的一部分。这将需要额外的申请流程,你的老板可能认为这是值得的。

https://developer.paypal.com/docs/classic/adaptive-payments/integration-guide/APIntro/

向下滚动约3/4,您将看到逐步说明如何做到您所寻找的内容,即安全的Paypal iframe。

快速提示:如果您需要将其纳入自己的流程中,请执行以下操作。

1)在向Paypal发送请求后获得您的付款密钥。 2)按照教程中的方式调用JavaScript源。 3)手动重定向窗口,而不是使用他们创建的Paypal按钮。即https://www.paypal.com/webapps/adaptivepayment/flow/pay?paykey=YOURPAYKEY

另一个好的来源是:https://www.paypalobjects.com/webstatic/en_US/developer/docs/pdf/pp_adaptivepaymentsmobile.pdf


很难让他们理解,但是还是谢谢你的回答 :) - Natalie
你会喜欢我在上面发现的东西的 :) - Nathan Kellert
哇,谢谢。我一有时间就会深入研究它。 - Natalie

4
如果Paypal允许,这样是安全的,但从UI角度来看,你必须小心。如果你的网站通过http加载,并在你的网站中加载IFrame,则即使IFrame通过https加载,对用户来说似乎也不安全。这种方法还容易受到 MiTM攻击的攻击,因为攻击者可以拦截和更改IFrame URL,例如更改为http://www.evil.com,而在输入卡片详细信息时,没有人会发现这一点。如果你的网站通过https加载,你的客户必须信任你的卡片详细信息,因为他们不能确定IFrame实际上指向的是Paypal域名上的https(https://www.paypal.com),而不是你的网站。是的,他们可以右键单击并检查源代码,但对于大多数用户来说,这是一步太远了,从技术上讲,恶意网站可以将IFrame替换为恶意版本,而客户不会注意到。
我的建议是实际上重定向到 https://www.paypal.com,因为这样它会在地址栏中显示一个挂锁,并让用户放心地知道他们正在向 Paypal 而不是其他人提供详细信息。

谢谢您的回答,但是例如,如果我要重定向到PayPal或银行,替换URL比重定向到站点内的iframe更困难? - Natalie
@Natalie。不,付款完成后您只需简单地重定向回来即可。 - SilverlightFox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接