Rumah >Tutorial CMS >WordTekan >Membersihkan, melarikan diri dan mengesahkan data dalam WordPress
Apabila membina plugin dan tema WordPress untuk beribu -ribu laman web, pastikan untuk mengendalikan data masuk dan meninggalkan WordPress dengan teliti. Tutorial ini akan meneroka fungsi asli untuk melindungi, membersihkan, dan memeriksa data WordPress, yang penting dalam mewujudkan halaman tetapan, bentuk HTML, memanipulasi kod pendek, dan banyak lagi.
Apakah pembersihan data? Singkatnya, pembersihan data adalah untuk membersihkan input pengguna. Ia menghilangkan teks, aksara, atau kod yang tidak dibenarkan dalam input.
Contoh:
Gmail Mengeluarkan tag dan kandungan dari mesej HTML sebelum memaparkannya untuk mengelakkan CSS daripada menimpa gaya Gmail. Tajuk widget WordPress tidak membenarkan tag HTML, dan jika ada, akan dikeluarkan secara automatik sebelum menyimpan tajuk. WordPress menyediakan pelbagai fungsi untuk membersihkan pelbagai jenis data:
sanitize_email()
sanitize_email("narayan prusty@sitepoint.com")
"narayanprusty@sitepoint.com"
: Menghapuskan aksara dari nama fail yang boleh menyebabkan masalah dengan fail rujukan baris arahan. Uploader Media WordPress menggunakan fungsi ini untuk membersihkan nama fail media. Sebagai contoh: sanitize_file_name()
sanitize_file_name("_profile pic--1_.png")
: Pilihan, metadata, dan kekunci sementara hanya boleh mengandungi aksara alfanumerik huruf kecil, sengkang, dan garis bawah. Fungsi ini digunakan untuk membersihkan kunci. Sebagai contoh: sanitize_key()
: Menghapuskan aksara UTF-8 yang tidak sah, menukarkan aksara khusus HTML kepada entiti, menghilangkan semua tag, dan menghilangkan rehat, tab, dan ruang tambahan. WordPress menggunakan fungsi ini untuk membersihkan tajuk widget. Sebagai contoh: "httpsitepointcom"
sanitize_text_field()
). Sebagai contoh: "Bold"
sanitize_title()
Apakah data melarikan diri? sanitize_text_field
sanitize_title("Sanítizing, Escaping and Validating Data in WordPress")
Singkatnya, melarikan diri data adalah untuk melindungi output. Ini dilakukan untuk mencegah serangan XSS dan memastikan data dipaparkan seperti yang diharapkan. "sanitizing-escaping-and-validating-data-in-wordpress"
Facebook melarikan diri mesej sembang apabila mereka memaparkan untuk memastikan pengguna tidak menjalankan kod pada komputer masing -masing. WordPress menyediakan beberapa fungsi untuk melarikan diri dari pelbagai jenis data: Apakah pengesahan data?
Contohnya:
Pengesahan HTML5 tidak boleh dipercayai, kerana ia mudah dilangkau. Pengesahan sisi pelayan diperlukan sebelum data tertentu diproses atau disimpan.
Kami memahami konsep pembersihan data, pengesahan dan melarikan diri dan kepentingan mereka. Pastikan untuk memasukkan fungsi ini apabila membangunkan tema atau plugin WordPress. Banyak plugin tidak dibangunkan dengan baik dan tidak mempunyai output yang melarikan diri, yang menjadikan laman web terdedah kepada serangan XSS yang berpotensi.
FAQ (FAQ)
Bahagian ini mengandungi soalan yang sering ditanya mengenai pembersihan data, melarikan diri, dan pengesahan dalam WordPress, yang meliputi kepentingannya, bagaimana untuk bekerja, amalan terbaik, dan cara menggunakan fungsi WordPress untuk melaksanakan langkah -langkah keselamatan ini.
esc_html()
: melarikan diri dari watak -watak khusus HTML. esc_textarea()
: Apabila memaparkan teks di kawasan teks, gunakan esc_textarea()
bukannya esc_html()
kerana esc_textarea()
boleh entiti double-encode. esc_attr()
: encode ,
, &
, "
, dan '
aksara. Ia tidak pernah menggabungkan entiti. Fungsi ini digunakan untuk melepaskan nilai atribut tag HTML. esc_url()
: URL juga boleh mengandungi kod JavaScript. Oleh itu, jika anda ingin memaparkan URL atau tag penuh <a></a>
, atribut href
harus dilepaskan, jika tidak, ia boleh mengakibatkan serangan XSS. esc_url_raw()
: Gunakan fungsi ini jika anda ingin menyimpan URL dalam pangkalan data atau untuk pengalihan URL. Perbezaan antara esc_url
dan esc_url_raw
ialah esc_url_raw
tidak menggantikan sebut harga versus dan tunggal. antispambot()
: Fungsi ini menukarkan aksara alamat e -mel ke entiti HTML untuk menyekat bot spam.
is_email()
: Periksa sama ada data yang diluluskan adalah rentetan. is_serialized()
Atas ialah kandungan terperinci Membersihkan, melarikan diri dan mengesahkan data dalam WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!