NaN views
TL;DR:HTTP 请求的 Accept-Language 第一个必须是 ja(日本语)。
几个月前,我想在某个日本网站上买个东西。为了能够顺利买到,大致查了一下过来人的经验,大概需要以下几样东西:
上述来来回回倒腾了不少天,最后经过一番折腾也解决了,主要拜托了在日本的朋友,还帮我去跑了一趟 7-11。然后就在我觉得马上就能成功付款的时候,又冒出了一个你正在使用代理或 VPN 购买的提示。当时挺崩溃的,索性让朋友直接上我的账户去购买。然后他居然随便就买到了。
当时我其实简单想了一下,感觉所有步骤都做到了,但是后来因为买到了也就不了了之,没有继续深究下去了。
直到,我偶然看到了下面这个推文:
『日本 IT 一口老血』之第二篇 Nitori 通贩上下单买家具,把手上的信用卡基本都试了一遍,全都不能使用,统统会报错 打听熟人何解,一问说需要把浏览器语言改为日语。 于是在 Chrome 语言列表中将日语调到最顶端,再尝试绑信用卡,他妈的就成功了 真是用到我一口老血,草
然后我火速的找了当时购买网站的一个便宜商品,使用一个非日本发行的信用卡,简单操作一下,果然手机提示扣款失败(锁卡防止真的付款),说明已经到了扣款阶段,没有被风控拦住。
我到这时也一口老血吐出来了,在日常聊天狂发几条消息吐槽日本人。
但事后一想,你就说防没防住。
这网站我以为的风控系统:记录注册和后续的登陆 IP 事件,绑定付款信用卡发行归属地等一系列相关的风控事件,然后制定一系列的风控规则弄一个小黑盒。实际付款时看集中规则进行评分判断放行。
实际的风控系统:前端简单限制日本手机号注册时的接受短信,付款只校验 IP 和语言列表。