2013-10-03 59 views
-1

我已經鎖定了我的MediaWiki實例,所以只有註冊用戶可以讀取或寫入(它是「私人」)。這意味着任何API請求都需要進行身份驗證。從我所知道的情況來看,唯一的方法就是通過憑據「登錄」,在服務器上設置cookie,然後用登錄後得到的特殊令牌發出新請求。如何登錄每個MediaWiki API請求?

反而我想發送我的憑據登錄每一個請求,所以不用擔心設置cookie或令牌。這意味着我只需要提出一個請求,而不是幾個,但每個請求都會「登錄」。

例如:

http://mywiki.com/api.php?action=query&dowhatever&username=MyName&password=MyPassword

或通過發送特殊的HTTP標頭。

可以這樣做嗎?有沒有人做過擴展來允許這個?

回答

0

默認情況下不可能。你需要使用/寫一個擴展名。

我寫了自己的API腳本,繞過了所有默認的MediaWiki代碼(包括好的和壞的安全性)。它需要工作,它有明顯的安全缺陷,但這是一個開始。我不推薦它用於製作網站。 Here it is

0

有沒有辦法做到這一點。您只需登錄一次即可獲取會話的cookie。您需要確保您在將來的API請求中傳回此cookie。有關更多詳情,請參閱https://www.mediawiki.org/wiki/Api

+0

什麼會議?客戶端訪問我的Web服務器或訪問wiki的Web服務器? – Jared

+0

我的意思是餅乾。更新了我的答案。 –