Documentatie · Ontwikkelaarsdocumentatie
Beveiliging en Capability-controles
Deze pagina beschrijft het beveiligingsmodel van de plugin bewust alleen op hoofdlijnen. Capability-identificaties, nonce-actienamen, de implementatie van de opslag van geheimen, het ondertekenen van onbeheerde verzoeken en andere beveiligingsrelevante interne details worden hier niet gepubliceerd.
Beveiligingsmodel in een oogopslag
- Beheer beveiligd met capabilities. Het beheer van de plugin is beperkt tot gebruikers met de juiste WordPress capability. Het toewijzen van die capability wordt beheerd via het WordPress rollensysteem.
- Authenticiteit van verzoeken. Bevoorrechte beheerdersacties (formulieren en admin-AJAX endpoints) verifiëren een nonce per actie voordat er werkzaamheden worden uitgevoerd.
- Onbeheerde automatisering. Wanneer de plugin een aanroepbaar endpoint blootstelt voor externe planners, wordt dit beschermd door een geheim aan de serverzijde dat wordt beheerd vanuit de beheerinterface van de plugin; het geheim wordt nooit teruggekoppeld op de pagina.
- Standaard WordPress beveiligingen. Alle invoer wordt geschoond (sanitised) en alle uitvoer wordt geëscaped met behulp van de juiste WordPress API's.
Voor ondersteunde opschoningsconventies die binnen de eigen code van de plugin worden gebruikt, zie Sanitization And Escaping.
Richtlijnen voor gebruik
- Verleen de capability voor plugin-beheer alleen aan rollen die dit echt nodig hebben.
- Behandel elk geheim dat in de plugin wordt ingevoerd (API-inloggegevens, automatiseringstoken, webhook-geheim) als een inloggegeven. Beperk databasetoegang op productiehosts en voorkom dat deze waarden in onversleutelde back-ups worden geëxporteerd.
- Roteer het automatiseringstoken als dit mogelijk openbaar is gemaakt.
- Houd WordPress, PHP en de plugin zelf up-to-date.
Ondersteunde openbare integratie-interfaces
Gebruik bij het integreren met de plugin bij voorkeur deze stabiele interfaces:
- De beheerinterface voor instellingen van de plugin.
- De gedocumenteerde shortcodes.
- Template-overrides op themaniveau zoals beschreven in Template System And Overrides.
- Het algemene Developer Overview voor oriëntatie.
Interne klassenamen, optiesleutels, databasetabellen, REST- en AJAX-endpoints, cron-hooknamen, capability- en nonce-identificaties, en release-/update-infrastructuur worden beschouwd als implementatiedetails. Deze kunnen tussen releases zonder voorafgaande kennisgeving wijzigen en maken geen deel uit van het openbare integratiecontract.
Stabiliteits- en wijzigingsbeleid
Alles wat hierboven niet als een ondersteunde openbare interface wordt vermeld, wordt beschouwd als een intern implementatiedetail. Interne API's, opslaglay-out en beveiligingsimplementatie kunnen tussen releases wijzigen. Vertrouw hier niet op vanuit code van derden, thema's of externe systemen. Directe database-schrijfacties worden niet ondersteund.
Kennisgeving openbare documentatie. Deze pagina biedt alleen een integratie-overzicht op hoofdlijnen. Interne implementatiedetails, privé-API's, opslagdetails en beveiligingsgevoelige release-infrastructuur worden afzonderlijk onderhouden en maken geen deel uit van de openbare documentatie. Ondersteunde integratie-interfaces zijn de gedocumenteerde shortcodes, template-overrides, de instellingen-UI en eventuele uitbreidingspunten die expliciet in deze sectie zijn gepubliceerd.