web-dev-qa-db-fra.com

L'accès en arrière-plan n'est-il pas requis pour qu'une application puisse publier sur mon blog?

J'ai récemment installé quelques applications (WordPress et BlogPad Pro) et je suis un peu surpris de voir qu'elles peuvent effectivement publier sur mes blogs, même si je ne leur ai pas donné les pages de connexion renommées et wp-admin qui J'ai mis en place via iThemes Security.

D'après ce que j'avais compris, la publication ne pouvait se faire que "par" l'arrière du blog; Autrement dit, si vous ne parvenez pas à vous connecter au blog via la page de connexion, vous ne pourrez pas poster sur le blog non plus. Mais évidemment, avec mon nom d'utilisateur et mon mot de passe, ces applications peuvent publier sur le blog.

Comment l'application sait-elle "contourner" la page de connexion masquée pour publier sur le blog?

1
JeanSibelius

Les clients utilisent généralement le support XML-RPC .

Si vous consultez la source de la page, vous verrez probablement une déclaration de point de terminaison:

<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" />

Les applications utilisent ces informations et vos informations d'identification pour accéder au site. De cette manière, ils peuvent soit localiser l'administrateur, soit fonctionner sans lui via XML-RPC.

4
Rarst

Non, ce n'est pas obligatoire. WordPress supporte ce type de publication à distance via l'interface XML-RPC de votre blog:

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

L'application n'accède pas à votre blog par la porte wp-login.php habituelle, mais parle à votre fichier xmlprc.php dans la langue de XML.

Le fichier xmlrpc.php se trouve dans votre dossier racine WordPress.

Si vous souhaitez désactiver l'accès XML-RPC, c'est possible avec cette seule ligne de code:

add_filter( 'xmlrpc_enabled', '__return_false' );

Vous pouvez en savoir plus à ce sujet dans le Codex .

1
birgire