Ось модифікований контрольний список, заснований на моїх поточних налаштуваннях / контрольному списку безпеки даних, що використовуються для перегляду тем (принципи не повинні відрізнятися для плагінів, ніж для тем):
Плагіни повинні префіксувати всі параметри, користувацькі функції, спеціальні змінні та власні константи з плагіном-слигом.
Плагіни повинні реалізовувати сторінки "Параметри плагіна" та "Налаштування плагінів" навмисно, а не покладатися на копіювати та вставляти скрипти з підручників веб-сайтів, таких як наведені нижче, які застаріли і не включають належного захисту даних:
Плагіни повинні використовувати add_options_page()
функцію, щоб додати сторінку Settings
меню плагінів до меню, а не використовувати add_menu_page()
меню верхнього рівня.
Плагіни повинні використовувати відповідні можливості (наприклад manage_options
) для можливості додавання сторінки налаштувань.
Плагіни повинні зберігати параметри в одному масиві, а не створювати кілька параметрів для сторінки налаштувань. Використання API налаштувань (див. Нижче) впорається з цим.
Плагіни повинні використовувати API налаштувань (див. Нижче) для отримання та збереження вхідних даних форми, а не покладатися на дані $_POST
та $_REQUEST
безпосередньо.
Для прапорців і вибору опцій, плагіни повинні використовувати checked()
і selected()
функцію для виведення checked="checked"
і selected="selected"
, відповідно.
Плагіни повинні перевірити та зафіксувати всі недовірені дані перед тим, як вводити дані в базу даних, і повинні уникати всіх недовірених даних перед виведенням у поля Налаштування форми та перед виведенням у файли шаблону теми:
Плагіни повинні використовуватись esc_attr()
для введення тексту та esc_html()
(або esc_textarea()
в WP 3.1) для текстових областей.
Плагіни повинні чітко надавати перевірку на сторінці налаштувань, якщо не використовується API налаштувань:
Також настійно рекомендується плагінам використовувати API налаштувань, який простіший у використанні, більш захищений та піклується про багато напруженої роботи сторінок налаштувань:
Хороший підручник із використання API налаштування див. У розділі: