Documentación · Documentación para desarrolladores
Saneamiento y escape de datos
Esta página describe el enfoque de saneamiento y escape de datos del plugin a alto nivel. Los nombres de los helpers internos, los pipelines de validación y las reglas de enmascaramiento exactas son detalles de implementación y no se publican aquí.
Enfoque
El plugin sigue las directrices de seguridad estándar de WordPress:
- Sanear en la entrada. Cada valor no confiable se sanea utilizando la API de WordPress adecuada para su tipo antes de ser almacenado o utilizado.
- Escapar en la salida. Cada valor dinámico se escapa en el momento de la renderización utilizando la API de escape de WordPress adecuada para su contexto (HTML, atributo, URL, JavaScript, JSON).
- Validar, luego sanear, luego escapar. La validación rechaza los valores fuera de rango; el saneamiento normaliza la forma; el escape protege el contexto de salida.
- Enmascarar secretos en los diagnósticos. La salida de diagnóstico nunca incluye secretos en texto plano, tokens, cabeceras de autorización o cabeceras de solicitudes firmadas.
Para desarrolladores de extensiones
Al escribir código que se integra con el plugin (plantillas personalizadas, sobreescrituras de temas, callbacks de hooks):
- Trate cada valor proveniente de parámetros de solicitud, opciones, post meta o APIs de terceros como no confiable.
- Utilice la API de saneamiento de WordPress (
sanitize_text_field,sanitize_email,wp_kses_post,absint, etc.) en la entrada. - Utilice la API de escape de WordPress (
esc_html,esc_attr,esc_url,esc_js,wp_json_encode) en el punto de salida. - Nunca muestre (echo) secretos o credenciales configurados en la salida renderizada o en las líneas de registro.
Superficies de integración pública compatibles
Al integrarse con el plugin, prefiera estas superficies estables:
- La interfaz de usuario de ajustes de administración del plugin.
- Los shortcodes documentados.
- Las sobreescrituras de plantillas a nivel de tema como se describe en Template System And Overrides.
- La Descripción general del desarrollador general para orientarse.
Los nombres de clases internas, las claves de opciones, las tablas de la base de datos, los endpoints REST y AJAX, los nombres de hooks de cron, los identificadores de capacidades y nonces, y la infraestructura de lanzamiento / actualización se tratan como detalles de implementación. Pueden cambiar entre versiones sin previo aviso y no forman parte del contrato de integración pública.
Política de estabilidad y cambios
Cualquier elemento que no figure como una superficie pública compatible anteriormente se considera un detalle de implementación interna. Las APIs internas, el diseño del almacenamiento y la implementación de seguridad pueden cambiar entre versiones. No dependa de ellos desde código de terceros, temas o sistemas externos. No se admiten escrituras directas en la base de datos.
Aviso de documentación pública. Esta página proporciona únicamente una descripción general de la integración a alto nivel. Los detalles de implementación interna, las APIs privadas, los aspectos internos del almacenamiento y la infraestructura de lanzamiento sensible a la seguridad se mantienen por separado y no forman parte de la documentación pública. Las superficies de integración compatibles son los shortcodes documentados, las sobreescrituras de plantillas, la interfaz de usuario de ajustes y cualquier punto de extensión publicado explícitamente en esta sección.