liaoliao666 / v2ex

V2EX 好看的第三方客户端,原生 App,支持夜间模式。
MIT License
577 stars 32 forks source link

经常403错误 #53

Closed iulo closed 1 year ago

iulo commented 1 year ago

image

如图,但是直接用浏览器访问就不会,版本为1.3.4

liaoliao666 commented 1 year ago

清除一次缓存再用着试试,如果不会再存在这情况,那我大概清楚是什么导致的了

iulo commented 1 year ago

清了缓存依旧会有这个问题

liaoliao666 commented 1 year ago

先等403错误消失之后,再观察下出现的频率

iulo commented 1 year ago

你好,我尝试了以下步骤:

我有点怀疑是不是命中了cloudflare的啥规则被拉黑了

liaoliao666 commented 1 year ago

其实应该就是你当前使用的节点刷v站刷的太狠了,命中了v站的规则,把当前节点暂时拉黑了。 还有就是由于有对数据做缓存,如果某些功能存在分页,再次访问时,会重新请求数据。例如有10页的缓存,会重新请求10页最新的数据。一下子请求数量超出的话也会有问题。针对这个问题,下一版会调低存在分页的功能的缓存时间。避免再次进入时有这个问题。

liaoliao666 commented 1 year ago

可以更新到最新版本再试试,调整了长列表的缓存逻辑

iulo commented 1 year ago

更新到最新版后(访客状态)还是不行 换个可以的节点,重新登录后,可以访问 此时切换回之前不可以的节点,也可以访问了

是不是清理缓存不能清除cookie? 我怀疑是cookie有些字段值命中了封禁,如果不重新登录又不会刷新存储的cookie

liaoliao666 commented 1 year ago

只有退出登录才会清除cookie的。如果是cookie的问题话,也想不到怎么去解决了。

还有是 403 的话一般是需要人机验证。我这边有个逻辑是会自动跳到浏览器打开v2ex进行人机验证,频率是一天只能打开一次。或许你可以手动打开v2ex网页试试?

iulo commented 1 year ago

确实会触发一次safari打开,但是在safari上是正常的,没有人机也没有403....😂

侧边栏搞个清除cookie的功能呗?实测了下,即使是游客态访问v2也会写一些cookie(PB3_SESSION),v2可能依赖这个跟踪用户吧

403的错误提示里也可以加一些提示说明可能需要清空cookie

liaoliao666 commented 1 year ago

倒是可以提示可能需要退出登录,退出登录相当于清除cookie了。

hywhuangyuwei commented 1 year ago

出现了同样的问题,并且清除缓存无效果。 退出登录后,再次尝试登录则表现为验证码无法显示和刷新,网页登录链接点击无反应。 IMG_5240

最新版本 App iOS 16.4.1

hywhuangyuwei commented 1 year ago

出现了同样的问题,并且清除缓存无效果。 退出登录后,再次尝试登录则表现为验证码无法显示和刷新,网页登录链接点击无反应。 IMG_5240

最新版本 App iOS 16.4.1

与此同时,网页版访问无任何问题和报错。网络环境也从未变更过。

iulo commented 1 year ago

@hywhuangyuwei 可能是节点A的游客模式被封禁了(不确定跟ua有没有关系,web的游客可以),换个节点B成功登录后可正常访问,在切回A也正常

liaoliao666 commented 1 year ago

@hywhuangyuwei 可以切换节点的话切换节点试试,我这边也没有啥头绪

hywhuangyuwei commented 1 year ago

@liaoliao666 经测 0426 这个问题已不再出现(在没有更改网络条件的情况下)。

liaoliao666 commented 1 year ago

@liaoliao666 经测 0426 这个问题已不再出现(在没有更改网络条件的情况下)。

被ban IP了,一般一天就没问题了。只是出现问题后,除了换节点之外不知道怎么去解决。

hywhuangyuwei commented 1 year ago

@liaoliao666 经测 0426 这个问题已不再出现(在没有更改网络条件的情况下)。

被ban IP了,一般一天就没问题了。只是出现问题后,除了换节点之外不知道怎么去解决。

请问 V2Fun 访问数据的方式与 Web 端有什么不同?假如是 ban IP 的话,为什么用电脑/手机浏览器访问 Web 端还是正常的?

liaoliao666 commented 1 year ago

@liaoliao666 经测 0426 这个问题已不再出现(在没有更改网络条件的情况下)。

被ban IP了,一般一天就没问题了。只是出现问题后,除了换节点之外不知道怎么去解决。

请问 V2Fun 访问数据的方式与 Web 端有什么不同?假如是 ban IP 的话,为什么用电脑/手机浏览器访问 Web 端还是正常的?

目前已知 v2fun 请求带的 ua 是 react-native 默认的例如 / CFNetwork/975.0.3 Darwin/17.7.0。而浏览器的 ua 则是类似这样的 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36。 还有v2fun不是在浏览器环境下请求的,肯定还有一些其他的出入。