Panduan cepat untuk melarikan diri dari data PHP di WordPress

Menambahkan kode khusus ke situs web WordPress Anda sangat kuat. Anda dapat menambahkan hampir semua jenis fungsionalitas. Itu bagus – tetapi juga datang dengan tanggung jawab.

Output kode Anda harus aman. Kalau tidak, aktor jahat bisa memanfaatkan. Misalnya, mereka dapat menjalankan javascript nakal atau cuplikan PHP untuk menyebarkan malware. Ini menempatkan pengguna dalam risiko dan berantakan untuk dibersihkan.

Untungnya, WordPress menyediakan cara untuk mencegah serangan semacam ini. Melarikan diri dari strip output data kode yang tidak diinginkan dan tidak aman. Dengan kata lain, fitur ini memastikan bahwa hanya konten yang aman yang akan menjadi output. Ini adalah ketenangan pikiran yang ekstra saat membangun tema dan plugin khusus.

Jika Anda memiliki pengetahuan pengkodean, melarikan diri dari output data PHP relatif sederhana. Namun, ini juga merupakan langkah yang mudah untuk dilewatkan. Itulah sebabnya sanitasi kode yang tidak tepat adalah salah satu masalah keamanan terkemuka di ekosistem WordPress.

Mari kita ubah narasi itu, satu cuplikan pada satu waktu. Berikut adalah panduan singkat untuk melarikan diri dari data PHP di WordPress. Itu bisa menyelamatkan Anda dari satu atau dua mimpi buruk keamanan.


Cara untuk mengontrol dan melindungi data situs Anda

Apa yang Data Data Melolos? Anggap saja sebagai filter dalam pembuat kopi. Pekerjaan filter adalah menangkap kacang tanah dan membiarkan cairan yang lezat. Demikian juga, melarikan diri dari filter data yang berpotensi berpotensi berbahaya kode sebelum diterjemahkan di browser web.

Mari kita gunakan situs web Formulir Kontak sebagai contoh. Bentuk kami mungkin memiliki bidang untuk:

  • Nama
  • Alamat email
  • Alamat pos
  • Pesan

Setiap bidang memiliki tujuan tertentu. Kami menganggap pengguna akan menambahkan nama depan dan belakang mereka ke bidang “Nama”, dan sebagainya.

Tapi bagaimana jika mereka tidak melakukannya? Kami tidak dapat menjamin bahwa semua orang akan berperilaku seperti yang diharapkan. Dengan asumsi mereka akan menjadi kesalahan.

Pengguna atau bot jahat dapat mencoba menambahkan JavaScript ke satu atau lebih bidang kami. Kode itu mungkin dieksekusi di situs web kami. Sejumlah hal buruk bisa terjadi dari sana. Kode ini dapat mengarahkan Anda ke situs berbahaya atau mengambil informasi pribadi seperti kata sandi atau detail pembayaran.

Melarikan diri dari data yang dikumpulkan oleh formulir kami dapat mencegah kejahatan tersebut. Fitur ini membatasi input apa yang akan diterima bidang. Ini juga mencegah input yang tidak diizinkan dari diberikan.

Seperti filter kopi, data yang melarikan diri membersihkan output kami sambil membiarkan barang -barang yang baik mengalir.

Melarikan diri dari filter data yang berpotensi berbahaya.

Data WordPress melarikan diri dari fungsi

WordPress menyediakan beberapa fungsi untuk melarikan diri dari data. Masing -masing dirancang untuk menangani berbagai jenis konten.

Misalnya, esc_html() Fungsi akan menghapus HTML dari input. Salah satu contoh adalah pengguna yang menyertakan HTML dalam judul halaman. Fungsi ini memastikan kode tidak diterjemahkan dalam output.

Katakanlah pengguna yang suka berpetualang menempatkan yang berikut di bidang judul halaman:

<strong>About Us</strong>

Kami belum lolos dari kode PHP dalam tema kami:

<h1><?php echo ( $title ); ?></h1>

WordPress tidak akan menghapus HTML tambahan dalam skenario ini. Itu bisa berbahaya!

<h1><strong>About Us</strong></h1>

Sekarang, mari kita gunakan esc_html() untuk memperkuat keamanan kita:

<h1><?php echo esc_html( $title ); ?></h1>

Fungsi akan melucuti tag HTML yang ditambahkan oleh pengguna, hanya menyisakan teks:

<h1>About Us</h1>

Mungkin kode dalam contoh kami tidak berbahaya. Namun, itu membuka pintu bagi seseorang dengan niat yang lebih menyeramkan. Melarikan diri dari data adalah langkah sederhana yang melindungi situs web Anda dan semua orang yang mengunjunginya.

Fungsi melarikan diri umum

Mari kita lihat beberapa fungsi pelarian lainnya:

esc_js() – Fungsi ini digunakan untuk membersihkan kode javascript inline. Ini lolos dari karakter khusus dan mencegah serangan XSS.

<a target="_blank" href="#" onclick="alert('<?php echo esc_js( $message ); ?>')">Click me</a>

esc_url() – Sanitasi URL sebelum output dengan melarikan diri dari karakter yang tidak aman dan memvalidasi protokol HTTP/HTTPS. Anda juga bisa menggunakan esc_url_raw() untuk menyimpan URL di database situs.

<a target="_blank" href="https://speckyboy.com/escaping-php-data-wordpress/<?php echo esc_url( $url ); ?>">Visit our site</a>

wp_kses() -Menyampaikan semua kode yang tidak diperdebatkan sambil melestarikan HTML. Bergantian, wp_kses_post() menjaga kode yang diizinkan dalam posting atau halaman.

<?php echo wp_kses($custom_field_content); ?>

Fungsi di atas adalah salah satu yang paling umum digunakan oleh pengembang. Lihat Dokumentasi WordPress Untuk daftar lengkap dengan contoh kode.

Di mana Anda harus menggunakan fungsi melarikan diri?

Fungsi melarikan diri harus digunakan di mana pun Anda menangani input pengguna melalui kode. Itu mungkin templat tema atau plugin khusus. Jika Anda menggunakan bidang khusus, outputnya juga harus diloloskan.

Kode khusus adalah fokus utama di sini. Jika Anda tidak yakin harus mulai dari mana Pemeriksaan tema Dan Cek plugin Plugin akan membantu Anda menemukan output tanpa batas dalam kode Anda. Dari sana, Anda dapat menambahkan fungsi yang melarikan diri dan menguji perubahannya.

Perhatikan bahwa sebagian besar fungsi WordPress asli seperti the_content () atau the_title () diloloskan secara default – Anda tidak perlu melakukan apa pun lebih lanjut.

Bagaimana jika Anda menemukan beberapa output yang tidak disetujui dalam tema atau plugin pihak ketiga? Beri tahu pengembang! Itu bisa menjadi pengawasan di pihak mereka. Memperbaiki itu akan membantu meningkatkan keamanan produk.

Melarikan diri ke tempat yang lebih aman

Sangat mudah untuk melupakan output saat menulis kode. Pengembang yang tidak berpengalaman dalam keamanan mungkin bahkan tidak mengetahuinya. Aplikasi editor kode tidak akan mengingatkan Anda tentang masalah ini. Dan WordPress akan menjalankan kode Anda.

Jadi, ingatlah fitur keamanan ini. Tambahkan ke daftar periksa atau atur pengingat di catatan proyek Anda. Hanya perlu beberapa detik tambahan untuk diimplementasikan. Dan itu mungkin perbedaan dalam apakah situs Anda seaman mungkin.


Atas

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top