Aqui está uma lista de verificação modificada, com base nas minhas configurações atuais (em andamento) / lista de verificação de segurança de dados usada para revisar Temas (os princípios não devem ser diferentes para Plugins do que são para Temas):
Os plug-ins devem prefixar todas as opções, funções personalizadas, variáveis personalizadas e constantes personalizadas com slug do plugin.
Os plug-ins devem implementar deliberadamente as páginas Opções de plug-in e Configurações de plug-in, em vez de depender de scripts de copiar e colar de tutoriais de sites, como os abaixo, que estão desatualizados e não incluem segurança de dados adequada:
Os plug-ins devem usar a add_options_page()
função para adicionar a página de configurações de plug-in ao Settings
menu, em vez de usar add_menu_page()
para adicionar um menu de nível superior.
Os plug-ins devem usar um recurso apropriado (por exemplo manage_options
) para adicionar a página de configurações.
Os plug-ins devem salvar as opções em uma única matriz, em vez de criar várias opções para a página de configurações. O uso da API de configurações (veja abaixo) resolveria isso.
Plugins devem usar a API de configuração (veja abaixo) para obter e salvar dados de entrada de formulário, em vez de confiar em $_POST
e $_REQUEST
dados diretamente.
Para caixas de seleção e opções de seleção, os plug-ins devem usar as funções checked()
e selected()
para saída checked="checked"
e selected="selected"
, respectivamente.
Os plug-ins devem validar e limpar todos os dados não confiáveis antes de inserir dados no banco de dados e devem escapar de todos os dados não confiáveis antes de serem enviados nos campos do formulário Configurações e antes dos arquivos de modelo do Tema:
Os plug-ins devem ser usados esc_attr()
para entradas de texto e esc_html()
(ou esc_textarea()
no WP 3.1) para áreas de texto .
Os plug-ins devem fornecer explicitamente a verificação nonce da página Configurações, se não estiver usando a API Configurações:
Também é altamente recomendável que os plug-ins usem a API de configurações, que é mais fácil de usar, mais segura e cuida de muito do trabalho árduo das páginas de configurações: