为啥银行支付验证系统使用 JavaScript 重定向

Posted

技术标签:

【中文标题】为啥银行支付验证系统使用 JavaScript 重定向【英文标题】:Why do banks payment validation systems use JavaScript redirects为什么银行支付验证系统使用 JavaScript 重定向 【发布时间】:2019-02-18 01:23:42 【问题描述】:

当您通过在线支付系统(有或没有 3DSecure)付款时,您需要填写表格并进行验证,从严格的视觉角度来看,事情似乎非常简单。但后面往往是多次重定向,都是通过 javascript 来处理的。

基本上,您的数据已提交,然后您进入一个带有预填表单的页面,该表单会立即通过 JavaScript 提交,有时会连续多次提交(如果连接速度足够快,您甚至看不到这些步骤来自浏览器)。

我想知道他们为什么这样做(而不是正确的后端重定向),但我找不到答案。 我的猜测是,这只是让脚本更难遵循它,但它仍然可以做到(所以为什么要麻烦),而且在我看来,它的“肮脏方面”(从编码人员的角度来看)是不值得对尝试自动验证的脚本施加限制。

您对此有何见解?

【问题讨论】:

随着系统银行的使用,很可能是一个开发人员启动了它,现在只需维护很久以前编写的代码就更容易了,而不是重构它。 即使是最近的系统也是这样,所以一定有其他原因。 我没有得到反对票和关闭这个问题的请求。我找不到类似的,而且它并不愚蠢。如果该问题有问题,至少发表评论。 【参考方案1】:

在我看来,使用 JavaScript 将有效地检测机器人或人类。

如您所见,Google 如何验证机器人。

这只是一个简单的复选框,但如果您尝试编写机器人来验证或通过检查,那就相当复杂了。 (现在还是不知道怎么过去^)

【讨论】:

Google 验证码远非“只是一个复选框”,它附带了一个完整的系统。另外,我正在谈论的 javascript 重定向甚至没有实现这些东西。它们基本上只是表单验证。例如,您可以使用 curl 轻松模拟。 是的,你可以用 curl 来做,但他们可能会使用 javascript 来生成更多的字段,比如:secure_code 或者做很多其他的事情......正如我所说的那样,它只会创造更多的困难让你分析他们的系统。在他们的系统中,他们必须做更多关于私人业务或其他事情的事情......以再次检测和验证您。使用它可以消除 90% 的 bot,值得使用。 是的,我在我的问题中指出了这种可能性,我只是想知道是否还有其他我想不到的原因。 是的,这是个有趣的问题。但我的回答可能缺少一些东西;)。希望我们有银行安全或集成方面的专家来提供帮助。

以上是关于为啥银行支付验证系统使用 JavaScript 重定向的主要内容,如果未能解决你的问题,请参考以下文章

使用spring+html5实现安全传输随机数字密码键盘

收到支付验证码后未操作,银行卡却被盗刷!原因竟是......

在支付宝上买电影票怎么老是显示系统繁忙,求解答

怎么使用微信支付

手机银行4.0版本转账怎么不要求输入支付密码?

美团怎么用银行卡支付?不开通网银的那种。