Saya mencoba memahami sanitasi data (bukan validasi data) untuk membantu saya menulis tema aman untuk WordPress. Saya telah mencari di internet mencoba menemukan panduan komprehensif untuk pengembang tema yang merinci praktik terbaik. Ada beberapa sumber yang saya temui termasuk halaman codex berjudul Validasi Data, meskipun tidak ada yang berguna bagi saya. Halaman codex mencantumkan fungsi sanitasi yang tersedia, penggunaannya dan apa yang mereka lakukan, tetapi gagal menjelaskan mengapa Anda akan menggunakan yang satu di atas yang lain atau dalam situasi apa Anda akan menggunakan fungsi sanitasi tertentu. Tujuan dari posting ini adalah untuk meminta setiap orang untuk berkontribusi contoh kode buruk / tidak bersih dan bagaimana itu harus ditulis ulang untuk sanitasi yang tepat. Ini bisa menjadi kode umum untuk membersihkan judul posting atau mengirim thumnails src atau kode yang lebih rumit yang menangani sanitasi$_POST
data untuk permintaan Ajax.
Selain itu, saya ingin tahu apakah fungsi WordPress untuk menambah / memperbarui basis data (mis. Yang disebutkan dalam blok kode di bawah) secara otomatis menangani pekerjaan sanitasi untuk Anda? Jika ya, apakah ada pengecualian ketika Anda akan mengambil tindakan tambahan untuk membersihkan data yang dikirim ke fungsi WordPress ini?
add_user_meta
update_user_meta
add_post_meta
update_post_meta
//just to name a few
Juga, apakah sanitasi perlu dilakukan secara berbeda ketika menggemakan HTML dalam PHP dibandingkan dengan PHP inline HTML? Agar lebih jelas tentang apa yang saya minta, inilah kodenya:
<?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>
Kedua pernyataan di atas mencapai hal yang sama. Tetapi apakah mereka perlu diberkati secara berbeda?