-1

我已经锁定了我的 MediaWiki 实例,因此只有注册用户才能读取或写入它(它是“私有的”)。这意味着任何 API 请求都需要经过身份验证。据我所知,这样做的唯一方法是使用凭据“登录”,在服务器上设置 cookie,然后使用登录后获得的特殊令牌发出新请求。

相反,我想发送我的凭据以登录每个请求,因此不必担心设置 cookie 或令牌。这意味着我只需要发出一个请求,而不是几个,但每个请求都会“登录”。

例如:

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

或通过发送特殊的 HTTP 标头。

可以做到吗?有没有人延长允许这个?

4

2 回答 2

0

没有办法做到这一点。不过,您只需登录一次,即可获取会话的 cookie。您需要确保在以后的 API 请求中将此 cookie 传回。有关详细信息,请参阅https://www.mediawiki.org/wiki/Api 。

于 2013-10-03T12:31:37.293 回答
0

默认情况下似乎不可能。您需要使用/编写扩展程序。

我编写了自己的 API 脚本,绕过了所有默认的 MediaWiki 代码(包括好的和坏的安全性)。它需要工作并且存在明显的安全漏洞,但这是一个开始。我不推荐它用于生产网站。在这里

于 2013-10-09T01:53:46.693 回答