說明討論:自動登出

頁面內容不支援其他語言。
維基百科,自由的百科全書

一個回報

您好,這段時間也遇到了這篇論述中提到的情況,不過經過我逐個測試,這些方案中僅有方案四可用。

  • 方案一,在桌面版下(域名不帶有三級子域名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)[回覆]

郵件不回啊。--Gongxiang01留言2024年4月27日 (六) 13:26 (UTC)[回覆]
我重發了一次。可以看一下我發佈的時間。--Gongxiang01留言2024年4月27日 (六) 14:22 (UTC)[回覆]

不要使用無痕模式

如果你使用的是Microsoft Edge,如果強制創建本地賬號成功之後,別開無痕模式(InPrivate 模式)。之後多登錄幾次就好了。我用的Proxyium。 --Gongxiang01留言2024年4月27日 (六) 14:22 (UTC)[回覆]

現在也不行了。--Gongxiang01留言2024年4月28日 (日) 11:18 (UTC)[回覆]