Patrząc na kodeks dla wp_insert_post () , stwierdza on, że ta funkcja „... dezynfekuje zmienne, wykonuje pewne kontrole, uzupełnia brakujące zmienne, takie jak data / czas itp.” (EDYCJA: Zaktualizowałem wpis Kodeksu, aby zawierał bardziej solidny przykład w tym bezpieczeństwo, a także meta post i przypisanie kategorii)
Zastanawiam się tylko, czy muszę przeprowadzić dalszą dezynfekcję, aby zapobiec włamaniom do XSS i tym podobnych, czy też wystarczająca jest wystarczająca funkcja.
Szczerze mówiąc, sprawdziłem tę funkcję w rdzeniu i na przykład nie znalazłem żadnej wp_kses () ani innej metody dezynfekcji na post_content, więc jestem trochę zaniepokojony. Widzę tylko, że robi to stripslashes_deep () na danych.
Więc czy powinienem uruchamiać wp_kses () czy cokolwiek innego, kiedy buduję swoje argumenty do wp_insert_post ()?
Jaka jest tutaj najlepsza praktyka? Kodeks jest dość nonszalancki w kwestii bezpieczeństwa w swoim przykładzie.
Dzięki
źródło
<script>
niego wpis?Odpowiedzi:
Nie musisz nic robić.
Przy obciążeniu WP:
'init' hook -> kses_init() -> kses_init_filters()
Później:
wp_insert_post() -> sanitize_post() -> sanitize_post_field() -> 'content_save_pre' -> wp_filter_post_kses()
Podobnie w przypadku tytułów postów, tekstu komentarza itp.
Wniosek: wp_insert_post () jest bardzo zdezynfekowany. :)
źródło