Я пытаюсь понять очистку данных (не проверку данных), чтобы помочь мне написать безопасные темы для WordPress. Я искал в Интернете, пытаясь найти исчерпывающее руководство для разработчиков тем с подробным описанием лучших практик. Я нашел несколько ресурсов, в том числе страницу кодекса под названием «Проверка данных», но ни один из них не был мне полезен. На странице кодекса перечислены доступные функции очистки, их использование и что они делают, но не объясняется, почему вы будете использовать одну над другой или в какой ситуации вы будете использовать определенную функцию очистки. Цель этого поста - попросить всех предоставить примеры плохого / неанизированного кода и того, как его следует переписать для правильной очистки. Это может быть общий код для дезинфекции заголовка поста или src post thumnails или более сложные коды, которые обрабатывают дезинфекцию$_POST
данные для запросов Ajax.
Кроме того, я хотел бы знать, автоматически ли функции WordPress для добавления / обновления базы данных (например, упомянутые в блоке кода ниже) позаботятся о работе по очистке? Если да, то есть ли исключения, когда вы предпримете дополнительные меры для очистки данных, отправляемых в эти функции WordPress?
add_user_meta
update_user_meta
add_post_meta
update_post_meta
//just to name a few
Кроме того, нужно ли проводить очистку по-разному при отображении HTML-кода в PHP по сравнению с встроенным в HTML-кодом PHP? Чтобы быть более понятным из того, что я спрашиваю, вот код:
<?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>
Оба приведенных выше утверждения достигают одного и того же. Но нужно ли их дезинфицировать по-другому?