Quão seguro / higienizado é wp_insert_posts ()?

11

Olhando o Codex para wp_insert_post () ele afirma que esta função "... limpa variáveis, faz algumas verificações , preenche variáveis ausentes, como data / hora, etc. "(EDIT: I atualizou a entrada do Codex para incluir exemplo mais robusto que inclui segurança, bem como atribuição de meta e categoria pós)

Estou apenas imaginando se preciso fazer mais alguma limpeza para evitar ataques XSS e similares, ou se está sendo feito o suficiente por meio da função.

Para ser honesto, verifiquei a função no core e não encontrei nenhuma wp_kses () ou outra sanitização no post_content, por exemplo, então estou um pouco preocupado. Tudo o que posso ver é stripslashes_deep () nos dados.

Então eu deveria estar rodando wp_kses () ou qualquer outra coisa quando eu construir meus argumentos para wp_insert_post ()?

Qual é a melhor prática aqui? O Codex é bastante arrogante quanto à segurança em seu exemplo.

Obrigado

    
por Tom Auger 29.07.2011 / 17:55

1 resposta

10

Você não precisa fazer nada.

Na carga do WP:

'init' hook -> kses_init() -> kses_init_filters()

Mais tarde:

wp_insert_post() -> sanitize_post() -> sanitize_post_field() -> 'content_save_pre' -> wp_filter_post_kses()

Da mesma forma, para títulos de postagens, textos de comentários, etc.

Conclusão: wp_insert_post () é muito limpo. :)

    
por scribu 23.08.2011 / 17:33