如果 Javascript 被关闭,Braintree.js 会发生什么?

6
有一段时间,我考虑选择 Braintree 作为一个可能的支付供应商,并查看了他们的 API。当时,他们有“透明重定向”选项,可以解决许多 PCI 合规性问题,而无需用户看到支付供应商的网站。该选项将信用卡数据发布到 Braintree 的服务器上,并返回一个带有令牌的 302 重定向。
现在他们似乎正在推广 Braintree.js 选项,该选项会在将信用卡数据发布到卖家网站之前在浏览器中加密数据。我的问题是: 如果用户的浏览器关闭了 JavaScript,会发生什么? 我知道由于输入标签没有 name 属性,它们不会被发布,所以这对于明文卡号来说不是安全风险。但是这个交易会失败吗?对于因某种原因无法正常工作的客户,真的没有后备方案吗? 编辑: 为了明确起见,我完全了解 Javascript 在浏览器上的工作原理等等。这个问题更具体地涉及 Braintree API 本身以及其中提供的选项。

2
JavaScript 中的加密是不安全的。请依赖于使用 https。 - Halcyon
1
@FritsvanCampen Braintree.js 所做的加密是为了符合规定,而非安全目的。HTTPs 用于保护数据。 - agf
4
我在 Braintree 工作。我相信你知道大多数电子商务网站没有启用 Javascript 就无法正常工作,所以那些禁用 Javascript 的人习惯于需要将其打开才能购买商品。话虽如此,我不确定我理解你的编辑意图。如果您将表单提交到服务器,但没有获取到任何信用卡字段,那么您就知道 Javascript 没有起作用,您可以从中决定下一步要做什么。您不必将数据发送给 Braintree 来确认 Javascript 是否被禁用。如果这回答了你的问题,我会将其转为答案。 - agf
2
@meagar 这里有很多关于个人API/平台的问题,从App.net到Twilio。其中许多涉及到比这个问题更狭窄/晦涩的API方面。我不明白为什么这个问题有任何离题之处。 - agf
3
@meagar,能否提供一份参考资料?与外部网络服务交互是我的工作以及许多其他程序员工作的重要组成部分,它一直是这里讨论的话题。 - agf
显示剩余10条评论
1个回答

1
如果JavaScript没有启用,页面上的任何JavaScript都不会起作用。
一种选择是将您的页面设置为JavaScript不存在。然后,JavaScript将从页面中删除旧的内容,并加载JavaScript版本。
显然的缺点是您会稍微减慢大多数用户的所有内容,以帮助少数人。如果您需要在业务中这样做,那么可以。
据我个人观点,因为没有浏览器默认禁用JavaScript,这些用户正在放弃Web上大量的服务和体验。即使屏幕阅读器也有98.5%的时间启用JavaScript(20112013研究/调查)。

1
谢谢您的回答,但我正在寻找更具体的Braintree API相关信息。我知道如何为自己编写的代码进行渐进式增强,但这是第三方API。我更关心是否有备用选项,例如在JS关闭时使用旧的透明重定向功能。我真的不想让任何人落后,因为这是面向公民的政府服务。 - Shea Daniels
好的。最好直接联系他们,并在此分享您的发现。我在他们的文档中没有看到任何相关内容。您可能需要自己实现它,或者说服他们将其作为一个功能实现。 - Brigand

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