-1

MediaWiki インスタンスをロックダウンして、登録ユーザーのみが読み書きできるようにしました (「非公開」です)。これは、すべての API リクエストを認証する必要があることを意味します。私が知る限り、これを行う唯一の方法は、資格情報を使用して「ログイン」し、サーバーに Cookie を設定してから、ログイン後に取得する特別なトークンを使用して新しいリクエストを作成することです。

代わりに、リクエストごとにログインするための資格情報を送信したいので、Cookie やトークンの設定について心配する必要はありません。これは、複数ではなく 1 つのリクエストのみを行う必要があることを意味しますが、各リクエストは「ログイン」します。

例えば:

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

または、特別な HTTP ヘッダーを送信します。

それはできますか?これを許可する拡張機能を作成した人はいますか?

4

2 に答える 2

0

これを行う方法はありません。ただし、セッションの Cookie を取得するためにログインする必要があるのは 1 回だけです。今後の API リクエストでこの Cookie を返すようにする必要があります。詳細については、 https://www.mediawiki.org/wiki/Apiを参照してください。

于 2013-10-03T12:31:37.293 に答える
0

デフォルトではできないようです。拡張機能を使用/作成する必要があります。

デフォルトの MediaWiki コードをすべてバイパスする独自の API スクリプトを作成しました (セキュリティの良し悪しも含めて)。作業が必要で、明らかなセキュリティ上の欠陥がありますが、それは始まりです。プロダクション Web サイトにはお勧めしません。ここにあります。

于 2013-10-09T01:53:46.693 に答える