SocialSisterYi / bilibili-API-collect

哔哩哔哩-API收集整理【不断更新中....】
https://socialsisteryi.github.io/bilibili-API-collect/
Other
15.05k stars 1.71k forks source link

本次登录环境存在风险, 需使用手机号进行验证或绑定 #545

Open 12monkey12 opened 1 year ago

12monkey12 commented 1 year ago

{"code":0,"message":"0","ttl":1,"data":{"status":2,"message":"本次登录环境存在风险, 需使用手机号进行验证或绑定","url":"https://passport.bilibili.com/h5-app/passport/risk/verify?tmp_token=ee5f081bce6fd53f2102addc9c57f1c2&request_id=447736c3729740b3802024570866f881&source=risk","refresh_token":"","timestamp":0}}

code 为 0,但是 data 字段中的 status 字段为 2,且 message 字段报错,登录失败

IvanHanloth commented 1 year ago

可以尝试查看 https://ivan.hanloth.cn/index.php/archives/530/ 进行编写

MoRanYue commented 1 year ago

emm,可是每次通过api来登录都会需要验证手机,很麻烦。 而网页端直接登录则不会,除非短时间内登录多次。

IvanHanloth commented 1 year ago

我猜测主要原因是: 通过api发起的登录是用服务器地址进行的登录,一般而言属于异地登录,所以需要验证手机。 网页端登录一般是在常用登陆地,所以不需要验证

MoRanYue commented 1 year ago

我猜测主要原因是: 通过api发起的登录是用服务器地址进行的登录,一般而言属于异地登录,所以需要验证手机。 网页端登录一般是在常用登陆地,所以不需要验证

可是我发送请求和我正常登录b站的电脑是同一台呀,IP地址是一样的。

IvanHanloth commented 1 year ago

你可以试试将正常登录的电脑上的cookie清空再登录,看看会不会验证 我猜测使用B站提供的注销登录的话,似乎会在本地留下登录痕迹从而避免重复验证

MoRanYue commented 1 year ago

你可以试试将正常登录的电脑上的cookie清空再登录,看看会不会验证 我猜测使用B站提供的注销登录的话,似乎会在本地留下登录痕迹从而避免重复验证

可以正常登录的呀。 我已经把cookie清空并禁用了,在网页登录依旧不需要验证码。

MoRanYue commented 1 year ago

可以正常登录的呀。 我已经把cookie清空并禁用了,在网页登录依旧不需要验证码。

IvanHanloth commented 1 year ago

那就不知道了,也许登录api有些限制 不排除存在一些前置api检查登录环境的可能性 如果觉得比较麻烦可以直接通过官网登录来获取cookie

lzyvegetable commented 5 months ago

这个返回结果就是因为少了请求头

lzyvegetable commented 5 months ago

如果请求头齐全的话,是直接返回access_token的

z0z0r4 commented 5 months ago

这个返回结果就是因为少了请求头

方便说下详细字段?

lzyvegetable commented 5 months ago

return await fetch(https://passport.bilibili.com/x/passport-login/oauth2/login, { method: "POST", redirect: "follow", headers: { "Host": "passport.bilibili.com", "Fp_local": "7502a5a97a136a331e6de92445e1d73b202405261152412a63577be6d6b0fb98", "Fp_remote": "7502a5a97a136a331e6de92445e1d73b202405261152412a63577be6d6b0fb98", "Session_id": "adafb459", "Guestid": "23084900291443", "Buvid": "XY662D167D42D2CA56514685FD62A63F2A27F", "Env": "prod", "App-Key": "android64", "User-Agent": "Mozilla/5.0 BiliDroid/7.79.0 (bbcallen@gmail.com) os/android model/LYA-AL10 ,mobi_app/android build/7790400 channel/bili innerVer/7790410 osVer/9 network/2", "X-Bili-Trace-Id": "200668e8ce5a227e83232415a0665434:83232415a0665434:0:0", "X-Bili-Aurora-Eid": "", "X-Bili-Mid": "", "X-Bili-Aurora-Zone": "", "X-Bili-Gaia-Vtoken": "", "Content-Type": "application/x-www-form-urlencoded; charset=utf-8", "Accept-Encoding": "gzip, deflate", }, body: metaData.params + &sign=${metaData.sign}

lzyvegetable commented 5 months ago

有一些是不必要的,没有去测,短时间内发这个请求多次会要求短信验证

lzyvegetable commented 5 months ago

{ code: 0, message: '0', ttl: 1, data: { status: 3, message: '', url: 'https://passport.bilibili.com/h5-app/passport/risk/verify?tmp_token=&stat_event=1&redirect_type=login&scene=deviceVerify', token_info: null, cookie_info: null, sso: null, is_new: false, is_tourist: false } }

SessionHu commented 2 months ago

see #700