Próbuję zrozumieć dezynfekcję danych (nie sprawdzanie poprawności danych), aby pomóc mi napisać bezpieczne motywy dla WordPress. Przeszukałem Internet, próbując znaleźć kompleksowy przewodnik dla twórców motywów zawierający szczegółowe informacje na temat najlepszych praktyk. Znalazłem kilka zasobów, w tym stronę kodeksu zatytułowaną „Sprawdzanie poprawności danych”, ale żadne z nich nie było dla mnie przydatne. Strona kodeksu zawiera listę dostępnych funkcji odkażających, ich użycie i to, co robią, ale nie wyjaśnia, dlaczego miałbyś używać jednej z nich w innej sytuacji lub w jakiej sytuacji używałbyś określonej funkcji odkażania. Celem tego postu jest poproszenie wszystkich o podanie przykładów złego / niezaanalizowanego kodu oraz o tym, jak należy go przepisać w celu poprawnej dezynfekcji. Może to być ogólny kod odkażający tytuł posta lub post thumnails src lub bardziej rozbudowany kod, który obsługuje odkażanie$_POST
dane dla żądań Ajax.
Ponadto chciałbym wiedzieć, czy funkcje WordPress służące do dodawania / aktualizowania bazy danych (np. Wymienione w poniższym bloku kodu) automatycznie zajmują się czyszczeniem? Jeśli tak, to czy są jakieś wyjątki, kiedy podejmowałbyś dodatkowe środki w celu oczyszczenia danych wysyłanych do tych funkcji WordPress?
add_user_meta
update_user_meta
add_post_meta
update_post_meta
//just to name a few
Czy dezynfekcja HTML w PHP jest inna niż w przypadku wbudowanego HTML? Aby wyjaśnić, o co proszę, oto kod:
<?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>
Oba powyższe stwierdzenia osiągają to samo. Ale czy trzeba je santaryzować inaczej?