Tips Security - Memproteksi WordPres dengan Cara Sederhana
Berikut ini ada beberapa cara untuk meningkatkan keamanan website berbasis WordPress anda.
=================================
1. Memproteksi Login Page dengan Secret Key
=================================
Caranya dengan menambahkan query tertentu ke URL wp-login.php, jika query tersebut tidak ditambahkan ketika mengakses wp-login, maka otomatis akan redirect kembali ke home.
Contoh berikut kita menambahkan secret key 'something'
add_action('init','login_protection');
function login_protection () {
$secret_key = 'something';
if($_SERVER['PHP_SELF'] == '/wp-login.php')
if(!isset($_GET[$secret_key])) {
wp_redirect(site_url());
}
}
Untuk mengakses login dengan cara http://websiteanda.com/wp-login.php?something
'something' ini bisa apa aja, asal jangan diberitahu ke siapapun. hehe.
===============================
2. Mencegah directory listing (Apache only)
===============================
Apache secara default menampilkan isi folder jika di folder tersebut tidak ada index.php atau index.html
Daripada anda harus membuat index.html di setiap folder, sebaiknya pake .htacces aja.
bikin file .htaccess di direktori wp-contents, isinya:
Options -Indexes
Dengan membuat .htaccess tersebut, secara otomatis maka direktori listing di folder upload, plugin, themes dan semua folder di bawah wp-contents tidak akan terindex.
NB: Jika setelah memasang .htacess ini file2 wp-contents tidak bisa diakses atau, error 500, berarti server anda tidak memperbolehkan mengganti option -indexes. sebaiknya hapus aja .htaccess tersebut.
Jika pake webserver Nginx, tidak perlu trik ini karena secara default nginx tidak menampilkan direktori listing.
====================================
3. Mencegah file template /plugin diakses langsung
====================================
Coba akses langsung salah satu file theme Anda. misalnya
http://example.com/wp-content/themes/mytheme/index.php
Biasanya akan muncul error seperti ini.
Fatal error: Call to undefined function get_header() in /username/public_html/wp-content/themes/mytheme/index.php on line 1
Wow, berarti username cpanel Anda akan kelihatan, dan bisa saja disalahgunakan orang lain.
Solusi:
Ketika membuat theme/plugin, sebaiknya disetiap awal file tambahkan
defined('ABSPATH') or die();
?>
Dengan begitu file2 theme tidak bisa diakses langsung.
---------------
Disclaimer: Tidak ada jaminan bahwa cara ini dapat mengamankan website Anda 100%.
Komentar (20)
Arsip Statis