Я намагаюся зрозуміти санітацію даних (не перевірку даних), щоб допомогти мені написати захищені теми для WordPress. Я здійснив пошук в Інтернеті, намагаючись знайти комплексний посібник для розробників тем, в якому детально описуються найкращі практики. Я натрапив на кілька ресурсів, включаючи сторінку кодексу під назвою Перевірка даних, хоча жоден мені не був корисний. На сторінці кодексу перераховані доступні функції санітарії, їх використання та те, що вони роблять, але не пояснено, чому ви б використовували одну над іншою або в якій ситуації ви використовували б певну функцію санітарії. Мета цієї публікації - просити всіх надати приклади поганого / несанітованого коду та того, як його слід переписати для належної санітарії. Це може бути загальним кодом для санітарії заголовка публікації або розміщення мініатюр src або більш детальних кодів, які обробляють санітарію$_POST
дані для запитів Ajax.
Крім того, я хотів би знати, чи функції WordPress для додавання / оновлення бази даних (наприклад, ті, що згадуються в блоці коду нижче) автоматично дбають про роботу санітарії? Якщо так, то чи є якісь винятки, коли ви вживали б додаткових заходів для санітарії даних, що надсилаються до цих функцій WordPress?
add_user_meta
update_user_meta
add_post_meta
update_post_meta
//just to name a few
Крім того, чи потрібно робити санітарію по-різному, коли ехо в HTML в PHP, як проти PHP, вбудованого в HTML? Щоб зрозуміти, про що я прошу, ось код:
<?php echo '<div class="some-div ' . $another_class . '" data-id="' . $id . '" >' . $text . '</div>'; ?>
<div class="some-div <?php echo $another_class; ?>" data-id="<?php echo $id; ?>"><?php echo $text; ?></div>
Обидва вищезазначені твердження досягають одного і того ж. Але чи потрібно їх санітувати по-різному?