Aquí hay una lista de verificación modificada, basada en mi configuración actual (trabajo en progreso) / lista de verificación de seguridad de datos utilizada para revisar Temas (los principios no deberían ser diferentes para Plugins que para Temas):
Los complementos deben prefijar todas las opciones, funciones personalizadas, variables personalizadas y constantes personalizadas con plugin-slug.
Los complementos deben implementar las páginas de Opciones de complementos y Configuración de complementos de forma deliberada, en lugar de depender de los scripts de copiar y pegar de los tutoriales del sitio web, como los que se muestran a continuación, que están desactualizados y no incluyen la seguridad de datos adecuada:
Los complementos deben usar la add_options_page()
función para agregar la página de configuración de complementos al Settings
menú, en lugar de usar add_menu_page()
para agregar un menú de nivel superior.
Los complementos deben usar una capacidad apropiada (por ejemplo manage_options
) para agregar la página de configuración.
Los complementos deben guardar las opciones en una sola matriz, en lugar de crear múltiples opciones para la página de configuración. El uso de la API de configuración (ver más abajo) manejaría esto.
Plugins deben utilizar la API de configuración (ver más abajo) para obtener y guardar los datos del formulario de entrada en lugar de depender $_POST
y $_REQUEST
datos directamente.
Para casillas de verificación y opciones de selección, los complementos deben usar las funciones checked()
y selected()
para la salida checked="checked"
y selected="selected"
, respectivamente.
Los complementos deben validar y desinfectar todos los datos no confiables antes de ingresar datos en la base de datos, y deben escapar de todos los datos no confiables antes de que se muestren en los campos del formulario Configuración y antes de que se muestren en los archivos de plantilla del Tema:
Los complementos deben usarse esc_attr()
para entradas de texto y esc_html()
(o esc_textarea()
en WP 3.1) para áreas de texto.
Los complementos deben proporcionar explícitamente la comprobación de nonce de la página de configuración, si no se utiliza la API de configuración:
También se recomienda encarecidamente que los complementos utilicen la API de configuración, que es más fácil de usar, más segura y se ocupa del trabajo arduo de las páginas de configuración: