web-dev-qa-db-ja.com

アプリが自分のブログに投稿するのにバックエンドアクセスは必要ありませんか。

最近いくつかのアプリ(WordPressとBlogPad Pro)をインストールしました。名前が変更されたloginページとwp-adminページを指定していないにもかかわらず、それらが実際に私のブログに投稿できることを確認して少し驚きました。私はiThemes Securityを介して設定しました。

私の理解するところでは、投稿はブログのバックエンドを通じてのみ可能です。つまり、ログインページからブログにログインできなかった場合、ブログにも投稿できませんでした。しかし、明らかに、私のユーザー名とパスワードで、これらのアプリはブログに投稿できます

ブログに投稿するために隠されたログインページを回避することをアプリはどのようにして知っていますか?

1
JeanSibelius

クライアントは通常、 XML-RPC Support を使用します。

あなたがあなたのページのソースを見ればあなたはエンドポイント宣言を見るでしょう:

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wp-includes/wlwmanifest.xml" />

アプリはこの情報とユーザーの認証情報を使用してサイトにアクセスします。このようにして、彼らは管理者の場所を見つけることも、XML-RPCを介してそれなしで作業することもできます。

4
Rarst

いいえ、必要ありません。 WordPressは、あなたのブログの XML-RPCインターフェース を通して、この種のリモートパブリッシングをサポートしています。

             XML-RPC calls
      APP ------------------> Your Blog (example.com/xmlrpc.php)

アプリは通常のwp-login.phpドアからあなたのブログにアクセスするのではなく、代わりにXMLの言語であなたのxmlprc.phpファイルと話しています。

xmlrpc.phpファイルはWordPressのルートフォルダにあります。

XML-RPCアクセスを無効にしたい場合は、この1行のコードで可能です。

add_filter( 'xmlrpc_enabled', '__return_false' );

これについての詳細は Codex で読むことができます。

1
birgire