Sto cercando di comprendere la sanificazione dei dati (non la convalida dei dati) per aiutarmi a scrivere temi sicuri per WordPress. Ho cercato su Internet cercando di trovare una guida completa per gli sviluppatori di temi che descrivesse le migliori pratiche. C'erano un paio di risorse che ho trovato tra cui la pagina del codice intitolata Data Validation, anche se nessuna mi è stata utile. La pagina del codice elenca le funzioni di sanificazione disponibili, il loro utilizzo e ciò che fanno, ma non spiega il motivo per cui dovresti usare l'uno sull'altro o in quale situazione utilizzeresti una particolare funzione di sanificazione. Lo scopo di questo post è di chiedere a tutti di contribuire con esempi di codice errato / non autenticato e come dovrebbe essere riscritto per una corretta sanificazione. Questo potrebbe essere un codice generale per sanificare il titolo del post o post thumnails src o codici più elaborati che gestiscono la sanificazione di$_POST
dati per richieste Ajax.
Inoltre, vorrei sapere se le funzioni di WordPress per l'aggiunta / l'aggiornamento del database (ad esempio quelle menzionate nel blocco di codice in basso) si occupano automaticamente del lavoro di sanificazione per te? Se sì, allora ci sono delle eccezioni quando si adotteranno misure aggiuntive per sanificare i dati inviati a queste funzioni di WordPress?
add_user_meta
update_user_meta
add_post_meta
update_post_meta
//just to name a few
Inoltre, la sanificazione deve essere eseguita in modo diverso quando si fa eco a HTML in PHP rispetto a PHP in linea di HTML? Per essere più chiari di ciò che sto chiedendo, ecco il codice:
<?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>
Entrambe le affermazioni di cui sopra ottengono la stessa cosa. Ma devono essere santificati diversamente?