NikoCat233 https://discuss.flarum.org/d/36175-cloudflare-waf-captcha-cause-login-405-exception 在官方论坛发的求助贴,被忽略 https://discuss.flarum.org/d/32913-login-405-methodnotallowedexception 前人发的bug贴,同样被忽略 详细的debug截图和报错截图见前人的帖子,我的问题和前人的一模一样。 bug表现为如果你使用了Cloudflare的WAF验证码,在点击login的时候会触发一个POST,这个POST会导致405 正常的login则只是在登录之后进行一个get 已尝试的解决办法(演示网址或图片): 关闭Cloudflare WAF Captcha即可就地解决 替换成宝塔的WAF就没有问题 和Cloudflare的WAF冲突应该是个比较大的问题了,但是官方论坛跟诈尸了一样。请问中文论坛有遇到这个问题的吗?
Eric_Lian 这个问题一眼是 post 重定向跟随导致的。 在重定向时会降级为 get,能成功登陆就见鬼了。(flarum 只允许 post 登陆) — 具体可以考虑一下你再追踪一下这个重定向流程是怎么做的,是否引起了什么 http 到 https 的重定向或者是什么其他奇怪的场景。先尽量排除一下这种浏览器行为的噪声再来进一步确定问题。 引起 http 到 https 重定向的场景最常见的就是回源走 http 但是不知道怎么的突然间又转成了 https,这些小细节也可能会有问题。把链路上每一个环节都查一下。
NikoCat233 确定了,是Turnstile插件的问题 blomstra/flarum-ext-turnstile#4 此插件的登录、注册、发送邮件3个验证点 仅注册的验证是有效的 登录和发送邮件不用点Turnstile验证码就能过,POST里面也没有TurnStile token 而且启用此插件后如果登录点了Turnstile,反而会触发login 200之后的POST,十分抽象