Skip to content

Cara Mencegah SQL Injection Pada Website WordPress

TokoDaring.Com – Cara Mencegah SQL Injection WordPress. Apakah Anda ingin mencegah serangan SQL Injection pada website WordPress? SQL Injection adalah kerentanan keamanan yang dapat digunakan peretas untuk menyerang database situs website Anda. Setelah mereka melakukannya, penyerang dapat membaca data sensitif, memodifikasi, dan mengambil kendali seluruh database Anda.

Artikel terkait :

Mengatasi Dashboard WordPress Yang Lambat

Mengapa anda perlu mencegah SQL Injection WordPress?

Pada artikel ini, kami akan membagikan beberapa tips yang dapat ditindaklanjuti untuk mencegah serangan SQL Injection pada website WordPress, langkah demi langkah.

SQL adalah singkatan dari Structured Query Language, yang merupakan bahasa pemrograman yang berkomunikasi dengan database situs website WordPress WooCommerce Anda. Tanpa fitur ini, situs website Anda tidak dapat menghasilkan konten dinamis apa pun.

Namun, masukan pengguna yang tidak sah, perangkat lunak yang ketinggalan jaman, atau pengungkapan informasi sensitif dapat menyebabkan kerentanan keamanan dan memudahkan peretas melakukan serangan injeksi SQL.

Serangan ini menargetkan server database Anda dan menambahkan kode atau pernyataan berbahaya ke SQL Anda. Setelah melakukan itu, peretas dapat menggunakan informasi sensitif yang disimpan di database Anda seperti data pengguna untuk pencurian identitas, pengambilalihan akun, penipuan keuangan, dan banyak lagi.

Mereka juga dapat mengubah entri database atau izin akun dan melakukan serangan DDOS, sehingga menyulitkan pengguna sebenarnya untuk mengunjungi situs web Anda. Hal ini dapat merusak kepercayaan pelanggan, berdampak negatif pada pengalaman pengguna, dan menurunkan lalu lintas situs web Anda yang akan berdampak buruk bagi pertumbuhan bisnis kecil Anda.

Cara mencegah SQL Injection WordPress dengan 7 langkah

Oleh karena itu, mari kita lihat beberapa tips yang dapat ditindaklanjuti yang dapat mencegah SQL Injection WordPress.

Lakukan Update Situs Secara Teratur Dan Gunakan Firewall

Cara efektif untuk mencegah serangan SQL Injection pada website WordPress adalah dengan memperbarui situs WordPress Anda secara rutin ke versi terbaru. Pembaruan ini sering kali memperbaiki kerentanan keamanan, termasuk masalah perangkat lunak basis data, sehingga menyulitkan peretas untuk menyerang situs Anda.

Jika Anda menggunakan WordPress versi lama, kami sarankan untuk mengaktifkan pembaruan otomatis untuk versi terbaru dengan mengunjungi halaman Dasbor » Pembaruan. Di sini, cukup klik tautan ‘Aktifkan pembaruan otomatis untuk semua versi baru WordPress’. Sekarang semua pembaruan besar akan diinstal di situs Anda setelah dirilis.

Untuk informasi lebih lanjut, Anda mungkin ingin melihat panduan pemula kami tentang cara memperbarui WordPress dengan aman.

Setelah Anda selesai melakukannya, Anda juga dapat menambahkan firewall untuk keamanan tambahan. Fitur ini bertindak sebagai perisai antara situs Anda dan lalu lintas masuk serta memblokir ancaman keamanan umum, termasuk serangan SQL, sebelum ancaman tersebut mencapai situs web Anda.

Untuk fungsi ini, kami merekomendasikan Sucuri, yang merupakan perangkat lunak firewall WordPress terbaik di pasaran. Ia menawarkan firewall tingkat aplikasi, pencegahan brute force, serta layanan penghapusan malware dan daftar hitam, menjadikannya pilihan yang tepat.

Selain itu, alat ini membantu kami memblokir sekitar 450.000 serangan WordPress di situs website kami di masa lalu. Untuk lebih jelasnya, lihat panduan keamanan WordPress lengkap kami.

Sembunyikan Versi WordPress Anda

Secara default, WordPress menampilkan nomor versi perangkat lunak yang Anda gunakan saat ini di situs web Anda. Misalnya, jika Anda menggunakan WordPress 6.4, maka versi ini akan ditampilkan di situs Anda untuk dilacak.

Namun, visibilitas publik atas nomor versi Anda dapat menyebabkan ancaman keamanan dan memudahkan peretas melakukan serangan injeksi SQL WordPress.

Ini karena setiap versi WordPress memiliki kerentanan uniknya sendiri yang dapat dieksploitasi oleh penyerang setelah menemukan versi Anda. Ini akan memungkinkan mereka menambahkan cuplikan kode berbahaya ke situs Anda melalui kolom masukan yang rentan.

Anda dapat dengan mudah menghapus nomor versi dari situs Anda dengan menambahkan cuplikan kode berikut ke file function.php Anda.

add_filter('the_generator', '__return_empty_string');

Setelah Anda melakukannya, peretas tidak akan dapat menemukan nomor versi WordPress Anda melalui pemindai otomatis atau cara lainnya.

Catatan: Perlu diingat bahwa kesalahan kecil saat menambahkan kode dapat membuat situs web Anda tidak dapat diakses. Itu sebabnya kami merekomendasikan WPCode. Ini adalah plugin cuplikan kode terbaik yang membuat penambahan kode khusus ke situs Anda menjadi sangat aman dan mudah.

Untuk lebih jelasnya, lihat tutorial kami tentang cara yang benar untuk menghapus nomor versi WordPress.

Ubah Awalan Basis Data WordPress

Secara default, WordPress menambahkan awalan wp_ ke semua file database Anda yang memudahkan peretas merencanakan serangan dengan menargetkan awalan tersebut.

Cara termudah untuk mencegah serangan injeksi SQL adalah dengan mengubah awalan database default dengan sesuatu yang unik yang tidak dapat ditebak oleh peretas.

Anda dapat dengan mudah melakukan ini dengan menghubungkan situs web Anda menggunakan FTP. Setelah itu, buka file wp-config.php dan temukan perubahan pada baris $table_prefix. Kemudian, Anda dapat mengubahnya dari wp_ default menjadi yang lain seperti ini: wp_a123456_.

$table_prefix  = 'wp_a123456_';

Selanjutnya, Anda harus mengunjungi cPanel akun web hosting Anda. Untuk tutorial ini, kami akan menggunakan Bluehost, namun cPanel Anda mungkin terlihat sedikit berbeda tergantung pada perusahaan hosting web Anda.

Di sini, beralih ke tab ‘Lanjutan’ dan klik tombol ‘Kelola’ di sebelah bagian ‘PHPMyAdmin’.

Klik tombol Kelola di sebelah bagian PHPMyAdmin
Ini akan membuka halaman baru di mana Anda harus memilih nama database Anda dari kolom kiri dan beralih ke tab ‘SQL’ dari atas.

Setelah itu, Anda bisa menambahkan kueri SQL berikut ke dalam kotak teks. Ingatlah untuk mengubah awalan database ke awalan yang Anda pilih saat mengedit file wp-config.php.

RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;

Untuk instruksi lebih lanjut, Anda dapat melihat tutorial kami tentang cara mengubah awalan database WordPress untuk meningkatkan keamanan.

Validasi Data Pengguna

Peretas biasanya menyuntikkan serangan SQL ke situs web Anda menggunakan kolom yang digunakan untuk memasukkan data pengguna seperti bagian komentar atau kolom formulir di formulir kontak.

Itulah mengapa penting untuk memvalidasi semua data yang dikirimkan ke blog WordPress Anda. Artinya, data pengguna tidak akan dikirimkan ke situs Anda jika tidak mengikuti format tertentu.

Misalnya, pengguna tidak akan dapat mengirimkan formulirnya jika kolom alamat email tidak memiliki simbol ‘@’. Dengan menambahkan validasi ini ke sebagian besar bidang formulir, Anda dapat mencegah serangan injeksi SQL.

Untuk melakukan ini, Anda memerlukan Formidable Forms, yang merupakan plugin pembuat formulir tingkat lanjut. Muncul dengan opsi ‘Input Mask Format’ di mana Anda dapat menambahkan format yang harus diikuti pengguna untuk mengirimkan data bidang formulir.

Anda dapat menambahkan format tertentu untuk nomor telepon atau kolom teks tunggal.

Jika Anda tidak ingin memvalidasi kolom formulir Anda, kami merekomendasikan WPForms karena ini adalah plugin formulir kontak terbaik yang dilengkapi dengan perlindungan spam lengkap dan dukungan Google reCAPTCHA.

Anda juga dapat menambahkan menu dropdown dan kotak centang di formulir Anda dengannya. Hal ini akan mempersulit peretas untuk menambahkan data berbahaya. Untuk lebih jelasnya, lihat tutorial kami tentang cara membuat formulir kontak aman di WordPress.

Batasi Akses dan Izin Peran Pengguna

Tip lain untuk mencegah serangan injeksi SQL WordPress adalah dengan membatasi akses pengguna ke situs website Anda.

Misalnya, jika Anda memiliki blog multi-penulis, maka Anda akan memiliki berbagai penulis beserta pelanggan dan administrator. Dalam hal ini, Anda dapat meningkatkan keamanan situs dengan membatasi akses admin penuh hanya kepada administrator.

Anda dapat membatasi semua peran pengguna lainnya pada fungsi tertentu yang mereka perlukan untuk melakukan tugasnya. Ini akan mengurangi akses pengguna ke database Anda dan mencegah serangan injeksi SQL.

Anda dapat melakukan ini dengan plugin Hapus Akses Dasbor gratis. Setelah aktivasi, cukup kunjungi halaman Pengaturan » Akses Dasbor di mana Anda dapat memutuskan peran pengguna mana yang mendapatkan akses ke dasbor.

Jika Anda ingin membatasi pengguna berdasarkan kemampuannya, Anda dapat melihat tutorial kami tentang cara menambah atau menghapus kemampuan dari peran pengguna di WordPress.

Demikian pula, Anda juga dapat membatasi penulis pada postingan mereka sendiri di area admin Anda untuk keamanan lebih.

Jika Anda ingin membatasi pengguna berdasarkan kemampuannya, Anda dapat melihat tutorial kami tentang cara menambah atau menghapus kemampuan dari peran pengguna di WordPress.

Demikian pula, Anda juga dapat membatasi penulis pada postingan mereka sendiri di area admin Anda untuk keamanan lebih.

Buat Pesan Kesalahan Basis Data Khusus

Terkadang pengguna Anda mungkin menemukan kesalahan database di situs web Anda, yang dapat menampilkan informasi penting tentang database Anda, sehingga rentan terhadap serangan injeksi SQL.

Dalam hal ini, kami menyarankan untuk membuat pesan kesalahan database khusus yang akan ditampilkan kepada pengguna ketika mereka menemukan kesalahan umum ini. Untuk melakukan ini, Anda perlu menyalin dan menempelkan konten berikut ke aplikasi notepad dan menyimpan file sebagai db-error.php.

<?php // custom WordPress database error page
    
  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 600'); // 1 hour = 3600 seconds
    
  // If you wish to email yourself upon an error
  // mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
    
?>
    
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
  You got problems.
</body>

Setelah itu, sambungkan situs Anda ke program FTP dan unggah file yang baru saja Anda buat ke direktori /wp-content/ situs Anda.

Sekarang ketika pengguna menemukan kesalahan database di situs web Anda, mereka hanya akan melihat pesan kesalahan yang memberi tahu mereka tentang masalah tersebut tanpa mengungkapkan informasi sensitif apa pun.

Ditambah lagi, judul “Database Error” akan ditampilkan di tab browser web. Untuk lebih jelasnya, lihat tutorial kami tentang cara menambahkan halaman kesalahan database khusus di WordPress.

Hapus Fungsi Basis Data yang Tidak Diperlukan

Untuk mencegah serangan SQL Injection pada website WordPress, Anda juga harus mencoba menghapus semua fungsi database dan file yang tidak Anda perlukan di situs web Anda. Misalnya, Anda dapat menghapus tabel yang tidak perlu, sampah, atau komentar yang tidak disetujui yang dapat membuat database Anda rentan terhadap peretas.

Untuk menghapus fungsionalitas database yang tidak perlu, kami merekomendasikan WP-Optimize. Ini adalah plugin luar biasa yang menghapus tabel yang tidak diperlukan, revisi postingan, draf, komentar yang dibuang, postingan yang dihapus, pingback, metadata postingan, dan banyak lagi.

Ini menghapus semua file yang tidak Anda perlukan dan mengoptimalkan database Anda menjadi lebih aman dan lebih cepat. Untuk detailnya, lihat panduan pemula kami tentang cara mengoptimalkan database WordPress Anda.

Artikel terkait dengan :