Help talk:自動登出

页面内容不支持其他语言。
维基百科,自由的百科全书
(重定向自Wikipedia talk:自動登出

一个回报

您好,这段时间也遇到了这篇论述中提到的情况,不过经过我逐个测试,这些方案中仅有方案四可用。

  • 方案一,在桌面版下(域名不带有三级子域名m.)经我测试无效;
  • 方案二,实在是太过玄学(或者说是太过偶然);
  • 方案三,我以确认用户权限测试无效,甚至即使是使用TW操作也会自动登出;
  • 方案四,我认为是唯一可行的方案。即在移动版下(域名带有三级子域名m.),并不再返回桌面版下进行“edit”操作(以手动或是API,可仅浏览),就可以保持正常登录态,只不过移动版的编辑器着实难用。

以上。 --安忆Talk 2020年10月2日 (五) 01:47 (UTC)[回复]

和鄙人非自确时测试结果相符。在 phab 那边鸽子们 fix 了这个之前大概只能凑合用 m 了。--From RavenclawOIer with love 2020年10月18日 (日) 11:14 (UTC)[回复]

2021年10月的测试

问题仍然存在。测试条件如下:

  1. 桌面版网页
  2. IP同时被本地和全域封禁
  3. 账号具有本地IPBE

使用方案一(新版wikitext)稳定避开问题,使用方案二(老版wikitext)几乎抓不到加载缓慢的机会(我的连接变快了)。--Tiger留言2021年11月3日 (三) 17:58 (UTC)[回复]

新用户发布更改时显示您的账号已退出

这很有可能是因为MediaWiki:Common.js/edit.js被改坏了,导致新用户只要一发布更改就会退出账号。有人能修复吗?--Q28留言2021年11月6日 (六) 04:29 (UTC)[回复]

我們的自動登出終於有解了嗎?--Milky·Defer 2021年11月6日 (六) 04:32 (UTC)[回复]
参见WP:AUTOLOGOUT提到的解决方法,及其讨论页中后来关于解决方案的跟进测试。--Tiger留言2021年11月7日 (日) 14:00 (UTC)[回复]

导致WP:自动登出的罪魁祸首找到了

嗯,标题越短事情越大。刚刚我找到了导致自动登出的罪魁祸首。

罪魁祸首是每个注册用户都默认会启用的小工具:「在编辑工具栏增加参考文献“引用”功能,可以快捷地使用文献引用模板。参考en:Wikipedia:RefToolbar 2.0(必须在“参数设置”→“编辑”中勾选“启用增强编辑工具栏”)」

只要关掉这个小工具,自动登出就不会发生;反之则会发生。

这是在几天前反馈称使用safemode加载编辑页面即可不受影响后,我开了个新号申请了临时IPBE在浏览器里头一个脚本一个脚本的阻挡加载后发现的。我在阻挡en:MediaWiki:RefToolbar.js的请求后,session就不会再丢失了。一旦解除阻挡,session就会丢失。后来我去偏好设定去关掉这个工具,session也不会丢失;打开就会丢失。

我在相关js代码中没有发现会操纵cookie的内容,所以更详细的技术成因不明。--Milky·Defer 2021年11月10日 (三) 13:14 (UTC)[回复]

我用这个小工具,但是从未发生过这个登出bug--百無一用是書生 () 2021年11月11日 (四) 09:01 (UTC)[回复]
@Shizhao:因为你测试用的账号应该有一个英维的附加账户。在没有英维附加账号的时候,试图跨域访问请求由于被IP封锁的缘故,无法自动创建enwiki的本地账号。此时在中维访问英维的内容的时候,送出去的cookie没有办法被英维认证,软件就会在返回的header当中把相关的中央认证的cookie删掉。然后由于refToolbar的本地化文本在中维本地加载,然后此时浏览器发请求的时候发不出去中央认证的cookie,导致中维本地认为你的登陆会话有问题,把你中维的登陆相关cookie也删了。然后你就自动登出了。
我刚刚关了代理打开了编辑界面,导致我被自动在英维本地开了个账号,之后我再打开代理就没有自动登出问题了。--Milky·Defer 2021年11月11日 (四) 10:47 (UTC)[回复]
所以不是mediawiki的bug?只是因为用代理的新用户才有这个问题?--百無一用是書生 () 2021年11月11日 (四) 11:17 (UTC)[回复]
en:MediaWiki:RefToolbar.js放到本地是不是就没这个问题了?另外,其他小工具如果也有跨域,是不是也存在同样问题?--百無一用是書生 () 2021年11月11日 (四) 11:19 (UTC)[回复]
至少,除了中维和英维我不记得有什么站点会积极封掉所有代理地址的。所以大概如果你的小工具跨域到没有封VPN的站点应该还是没问题的。--Milky·Defer 2021年11月11日 (四) 11:21 (UTC)[回复]
如果这算是程序(特指中央认证插件)的逻辑问题的话,也算是bug。目前而言,我们能做的就是立刻关掉对所有人都默认打开的RefToolbar并提醒这个可能会导致自动登出。剩下的就看phab有没有人修了。--Milky·Defer 2021年11月11日 (四) 11:20 (UTC)[回复]
感觉上如果封禁的时候选了禁止注册账号,那么就不应该算是程序逻辑问题吧--百無一用是書生 () 2021年11月11日 (四) 11:27 (UTC)[回复]
咦,只是加载js的话,不应该有登录问题啊--百無一用是書生 () 2021年11月11日 (四) 11:29 (UTC)[回复]
从开发者调试工具那里查看到的HTTP加载请求来看似乎不是这样的,就算是加载js人家也老老实实送了登录cookie过去……--Milky·Defer 2021年11月11日 (四) 11:41 (UTC)[回复]
我觉得逻辑问题是人家不应该把中央认证的cookie一起删了才对。不知道为什么会变成这样。--Milky·Defer 2021年11月11日 (四) 11:43 (UTC)[回复]

总结一下触发条件就是:

  1. 你的账号在中央认证中没有英维本地账号(可以解释为什么有人不会出现问题,毕竟英维附加账号很少有人会没有)
  2. 你的IP地址在英维本地被封锁(这样你在访问时不会被自动创建一个)
  3. 你在中维拥有IP封锁例外权限(仅保证你点击编辑后会加载编辑框,如果你的IP在中维本地未封锁而英维本地封锁的话我猜一样会发生这个问题)
  4. 你使用的编辑器会加载RefToolbar插件(目前似乎仅2010 wikitext编辑器,可以解释为什么2017 wikitext编辑器没有问题)
  5. 你编辑的时候真的加载了上述插件(可以解释为什么你抢在加载前直接发布不会出现问题)

是否是自动确认跟这个问题基本无关。

以上。我ping几个技术帝@ShizhaoAnYiLinWhitePhosphorusXiplus:可以帮我验证一下我的上述猜测吗? --Milky·Defer 2021年11月11日 (四) 11:17 (UTC)[回复]

随手翻了一下,MediaWiki:Gadget-HotCat.js, MediaWiki:Gadget-wikEd.js, MediaWiki:Gadget-ProveIt.js, MediaWiki:Gadget-popups.jsMediaWiki:Gadget-WikiMiniAtlas.js(还有更多)也有跨域问题,是不是也会触发登出bug?--百無一用是書生 () 2021年11月11日 (四) 11:25 (UTC)[回复]
我不知道,我的测试账号已经有英维本地账号了,再叫我复现也不可能了。除非我再开一个,到时候又要重新去申请权限。--Milky·Defer 2021年11月11日 (四) 11:27 (UTC)[回复]
还有就是,RefToolbar的加载是两阶段的,会先跨域加载一个refToolbarBase.js,根据我当时的观察,那个时候返回了英维登陆相关的cookie,但是似乎是无效cookie。之后再向英维加载了RefToolbar.js,这第二次加载导致删除了cookie。再之后向中维本地加载了第三个本地化RefToolbar的组件,导致中维本地的cookie也被删掉了。我个人的推断是,导致自动登出是第三阶段的结果,其他小工具如果没有这三阶段很难说也会导致问题。--Milky·Defer 2021年11月11日 (四) 11:32 (UTC)[回复]
嗯,看到了,只要跨域加载js,就会有相关的会话cookie。似乎是中央认证插件或者mediawiki本身,只要看到访问的是本域(比如en.wikipedia.org),就会自动去走中央认证和登陆的工作流,不管客户端打开的是什么url。而照道理来说,单纯请求一个js、css以及图像文件的url的话,没必要去用户认证--百無一用是書生 () 2021年11月11日 (四) 11:52 (UTC)[回复]
Nice catch! 我把重現步驟寫在任務說明了。--Xiplus#Talk 2021年11月11日 (四) 12:53 (UTC)[回复]

似乎需要服务器端发送的cookie里定义path,js等的url排除在外就可以避免这个问题?目前cookie中的path都是/,也就是全部路径(但似乎实现不了?不是很懂)--百無一用是書生 () 2021年11月11日 (四) 12:14 (UTC)[回复]

这种事情大概要去找phab解决,这是mediawiki软件写的。事实上我还想多等几个技术帝的意见(刚刚忘记ping老虎君了,补一下)。 --Milky·Defer 2021年11月11日 (四) 12:20 (UTC)[回复]
(嘛我收到了你在phab上那个task留言的通知)--Tiger留言2021年11月11日 (四) 12:26 (UTC)[回复]
我的意思是,按照目前的程序逻辑,mediawiki那边看起来也不太会有办法(从cookie角度看的话),除非改逻辑,才有可能。所以我觉得这个问题如果要解决,也挺麻烦的,不是马上能修好的--百無一用是書生 () 2021年11月11日 (四) 12:30 (UTC)[回复]
mw:Extension:CentralAuth上有几个cookie相关的设置,不知道有没有与这个问题相关的。--百無一用是書生 () 2021年11月11日 (四) 12:53 (UTC)[回复]
我对这个问题的紧急程度不是很清楚,不过我们是不是先要去更新WP:自动退出页面的内容啊?从原理而言,向一个没有当地账号又没法自动创建当地账号的地方连发两次请求就会导致自动登出。知道了原理之后应该就能想出更多临时性的workaround出来。--Milky·Defer 2021年11月11日 (四) 13:27 (UTC)[回复]
如果是發送兩次的問題話,把第一個url給改成//en.wikipedia.org/w/load.php?modules=ext.gadget.refToolbarBase就可以解決了?-- Sunny00217  2021年11月12日 (五) 11:18 (UTC)[回复]
能不能有一个脚本,自动检测有没有发生自动登出情况,并在这种情况下弹出窗口提醒查看相关页面?--Milky·Defer 2021年11月15日 (一) 05:47 (UTC)[回复]
这有什么区别?不还是跨域加载了么?--百無一用是書生 () 2021年11月16日 (二) 07:03 (UTC)[回复]

@ShizhaoAnYiLinWhitePhosphorusXiplusTigerzeng:各位,phab那边,维护CentralAuth的人已经知悉了这个问题,应该有望得到较快的解决(我还被他送了个星章)。目前在尚未解决之时,phab建议临时把RefToolbar的代码拷贝到中维,并安排一个具有界面编辑员权限的机器人定时同步代码,可以暂时避免这个问题。--Milky·Defer 2021年11月16日 (二) 05:36 (UTC)[回复]

不只一個小工具引用其他維基的JS,RefToolbar載入的程式碼也不只一個檔案,該臨時修復方案恐成本過大。--Xiplus#Talk 2021年11月16日 (二) 05:43 (UTC)[回复]
同意Xiplus的意见,除非只有这一个工具导致该问题或许还可以考虑--百無一用是書生 () 2021年11月16日 (二) 06:58 (UTC)[回复]
目前新用户遇到的自动登出情况应该基本上都是这个造成的(我也拿自己的分身测试了一下,也是一关闭就没问题,一打开就疯狂登出)。 ——魔琴 [ 已经告假 留言 贡献 ] 2021年11月21日 (日) 08:43 (UTC)[回复]
@ShizhaoAnYiLinWhitePhosphorusXiplusTigerzeng:所以说要不要先临时关了reftoolbar缓解燃眉之急?--Milky·Defer 2021年11月26日 (五) 12:35 (UTC)[回复]
上面是不是提到把它放到本地就没问题?是的话我觉得那样就可以。--安忆Talk 2021年11月26日 (五) 12:48 (UTC)[回复]
如果是放到本地的话,会破坏自动跟进上游更新,因此phab的建议是可以开一个IA权限机器人实时同步--Milky·Defer 2021年11月26日 (五) 12:52 (UTC)[回复]
這邊最近把定期更新這個功能做出來了。若有需要請再通知。--Kanashimi留言2021年12月5日 (日) 00:32 (UTC)[回复]
CentralAuth的维护者在IRC上回复我说,目前这个插件完全由志愿者维护,而他们既没有时间也没有精力去修复这个bug。不过如果有人交patch的话,他们会很乐意审。所以比较好的方案是本地懂PHP的人直接修复掉。--Tranve () 2021年12月2日 (四) 11:17 (UTC)[回复]

先默认关闭比较好,等phab修复问题再开启。有跨域造成问题的一并都关闭,小工具本来也不是mw的功能,没有必要一定要用。桐生ここ[讨论] 2021年11月30日 (二) 11:22 (UTC)[回复]

@桐生ここ:实际上,台湾分会那边的人跟我说,他们在做线下推广和教学的时候会用到(很依赖)reftoolbar,所以要是默认直接关掉了恐怕还是会搞出些问题的,我们也没法依照账号所属地域去开启关闭小工具……--Milky·Defer 2021年11月30日 (二) 12:18 (UTC)[回复]
方案一,台湾分会教学计划多加一个“如何打开reftoolbar”。方案二,在IP全域封禁的提示那边加一个自动登出的链接。 ——魔琴 [ 已经告假 留言 贡献 ] 2021年12月3日 (五) 05:27 (UTC)[回复]

建議改名:“Wikipedia:自動登出”→“Help:自動登出”

Wikipedia:自動登出” → “Help:自動登出”:内容偏向技术操作,应放入Help空间里--173.75.31.249留言2022年3月14日 (一) 16:19 (UTC)[回复]

分享申请英文维基百科强制创建本地账号(Force Local Account Creation)模版

我发了多封邮件尝试解决这个问题,最终[email protected]帮助我解决了问题。

邮件必须要表述清除以下几点:

1.我在中文维基百科上有账号了

2.我的账号名是

3.我不是来申请ip豁免的(Not for IP block exception)

4.我是来申请在英文维基百科上强制创建本地账号(Force Local Account Creation in the English Wikipedia)的。

不然很容易引起误解,从而像我一样花了4封邮件才解决问题。

以下是我成功解决问题的那封邮件:

Apply for "Force Local Account Creation"

I'm not here to apply for ip blocking exceptions, I already have a Chinese wikipedia account that has ip block exceptions. But because I need to use a VPN to access Chinese Wikipedia, it caused me to encounter an identified program error with Chinese Wikipedia - autologout.   (https://phabricator.wikimedia.org/T244635https://zh.wikipedia.org/wiki/Help:%E8%87%AA%E5%8B%95%E7%99%BB%E5%87%BA)

The solution is given in the link to report the bug and in the Chinese Wikipedia related page, which is to request from you to force local account creation in the English Wikipedia. Maybe you can read the link I attached for more information.

Here's some info you might need:

My username on Chinese Wikipedia:(你的用户名)

I look forward to hearing from you.


英文维基人很给力,在描述清楚后几个小时就回复了——“Done.”

祝各位可以高效快速的解决这个问题。--AnEht留言2023年8月25日 (五) 08:14 (UTC)[回复]