Documentation · Documentation développeur

Sécurité et vérifications des capacités

Cette page décrit volontairement le modèle de sécurité de l'extension à un niveau général uniquement. Les identifiants de capacités, les noms d'actions de nonce, l'implémentation du stockage des secrets, la signature des requêtes non surveillées et d'autres détails internes relatifs à la sécurité ne sont pas publiés ici.

Aperçu du modèle de sécurité

  • Administration restreinte par capacités. L'administration de l'extension est limitée aux utilisateurs disposant de la capacité WordPress appropriée. L'attribution de cette capacité est gérée via le système de rôles de WordPress.
  • Authenticité des requêtes. Les opérations d'administration privilégiées (formulaires et points de terminaison admin-AJAX) vérifient un nonce par action avant d'exécuter toute tâche.
  • Automatisation non surveillée. Lorsque l'extension expose un point de terminaison appelable pour des planificateurs externes, celui-ci est protégé par un secret côté serveur géré depuis l'interface d'administration de l'extension ; le secret n'est jamais renvoyé dans la page.
  • Protections standards de WordPress. Toutes les entrées sont nettoyées et toutes les sorties sont échappées à l'aide des API WordPress appropriées.

Pour connaître les conventions de nettoyage prises en charge et utilisées dans le propre code de l'extension, consultez Nettoyage et échappement.

Conseils d'exploitation

  • N'attribuez la capacité de gestion de l'extension qu'aux rôles qui en ont réellement besoin.
  • Traitez tout secret saisi dans l'extension (identifiants API, jeton d'automatisation, secret de webhook) comme un identifiant confidentiel. Restreignez l'accès à la base de données sur les serveurs de production et évitez d'exporter ces valeurs dans des sauvegardes non chiffrées.
  • Renouvelez le jeton d'automatisation s'il y a un risque qu'il ait été divulgué.
  • Maintenez WordPress, PHP et l'extension elle-même à jour.

Surfaces d'intégration publiques prises en charge

Lors de l'intégration avec l'extension, privilégiez ces surfaces stables :

Les noms de classes internes, les clés d'options, les tables de la base de données, les points de terminaison REST et AJAX, les noms de hooks cron, les identifiants de capacités et de nonces, ainsi que l'infrastructure de publication et de mise à jour sont traités comme des détails d'implémentation. Ils peuvent changer d'une version à l'autre sans préavis et ne font pas partie du contrat d'intégration public.

Politique de stabilité et de modification

Tout ce qui n'est pas répertorié comme une surface publique prise en charge ci-dessus est considéré comme un détail d'implémentation interne. Les API internes, la structure de stockage et l'implémentation de la sécurité peuvent changer d'une version à l'autre. Ne dépendez pas d'eux dans du code tiers, des thèmes ou des systèmes externes. Les écritures directes dans la base de données ne sont pas prises en charge.

Avis de documentation publique. Cette page fournit uniquement un aperçu général de l'intégration. Les détails d'implémentation interne, les API privées, les détails internes de stockage et l'infrastructure de publication sensible à la sécurité sont gérés séparément et ne font pas partie de la documentation publique. Les surfaces d'intégration prises en charge sont les shortcodes documentés, les surcharges de modèles, l'interface utilisateur des réglages et tous les points d'extension explicitement publiés dans cette section.