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?
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.
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 .