Kursus Website Terbaik
  • Home
  • Blog
  • Tutorial
    • HTML CSS
    • PHP MySQL
    • Javascript
  • Tips Trik
  • Tools
Select Page

Cara Membatasi Sistem Login di WordPress

by DUMET School | Oct 27, 2018 | Tips dan Trik | 0 comments

Dalam tutorial ini, kita akan melihat bagaimana membatasi upaya login di WordPress. Dengan membatasi jumlah upaya masuk yang tidak valid, saya dapat melindungi situs dari serangan brute force. Tidak ada kekurangan pengguna jahat secara online dan tidak diragukan lagi kita harus melindungi situs langsung dari peretasan. Jadi penting untuk mengambil langkah-langkah untuk mencegah akses berbahaya untuk melindungi situs web kami.

Ada banyak plugin WordPress yang tersedia untuk membatasi upaya login yang tidak valid. Sebagai contoh, Upaya Login Batas WP, Keamanan Cerber, Antispam & Malware Scan dan banyak lagi. Di artikel ini, mari kita lihat cara membatasi upaya masuk dengan menggunakan dua metode ini.

  1. Dengan menggunakan plugin WP Limit Login Attempts
  2. Dengan menambahkan kode khusus tanpa menggunakan plugin WordPress apa pun

 

1) Dengan menggunakan plugin WP Limit Login Attempts

Plugin ini membatasi upaya masuk dan melindungi situs WordPress kami. Ini memiliki peringkat yang bagus secara online dan memiliki 40k + instalasi aktif. Ini termasuk beberapa fitur seperti login batas, verifikasi CAPTCHA dan banyak lagi.
 Unduh plugin Winc Limit Login Attempts dari WordPress.org plugin repository dan pasang di situs WordPress Anda. Jika Anda baru menggunakan WordPress, Anda dapat mempelajari cara memasang plugin baru ke WordPress dengan menggunakan panduan pemula kami.

Setelah menginstal dan mengaktifkan plugin WP Limit Login Attempts, konfigurasikan pengaturannya dengan menavigasi melalui menu plugin admin WordPress. Plugin ini memiliki opsi dengan pengaturan default. Opsi-opsi itu adalah,

  1. Jumlah upaya Login
  2. Kunci waktu dalam hitungan menit
  3. Jumlah upaya Login untuk captcha
  4. Kotak centang untuk mengaktifkan / menonaktifkan verifikasi captcha

 

Catatan: Plugin WP Batasi Login Percobaan adalah versi terbatas dari Upaya Login Batas WP. Jika Anda ingin mendapatkan akses ke semua fitur dan dukungan untuk mengubah pengaturan default, maka Anda perlu ditingkatkan ke versi Pro dari plugin ini. Karena dikonfigurasi upaya masuk yang tidak valid dari pengguna jahat dan robot dibatasi. Pembatasan melalui plugin ini akan melindungi situs WordPress kami dari serangan brute force.


2) Tambahkan kode khusus untuk Membatasi Usaha Login di WordPress

Bagian ini menunjukkan cara membatasi upaya masuk dengan menggunakan kode khusus di functions.php. Ini adalah file tema WordPress yang berisi kait untuk memfilter dan melakukan tindakan atas entitas WordPress. Sebelumnya, dalam banyak tutorial WordPress, kami telah menggunakan tindakan dan filter kait dalam fungsi theme.php. Sebagai contoh, kami menggunakan hook aksi dengan tag parse_query untuk menonaktifkan pencarian WordPress.

Dengan mengeksekusi kode kita sendiri dengan hook tindakan WordPress, itu akan mengurangi beban dengan menghindari penggunaan plugin. Seperti yang telah kami nyatakan di banyak artikel WordPress, itu akan sangat mengoptimalkan situs WordPress Anda dengan memuat sejumlah plugin terbatas.

Tambahkan kode di bawah ini ke fungsi WordPress Anda.php. Kode ini berisi aksi WordPress dan filter hook dan fungsi panggilan balik yang sesuai. Callback berisi kode untuk membatasi jumlah upaya login yang tidak valid.

function check_attempted_login( $user, $username, $password ) {
    if ( get_transient( 'attempted_login' ) ) {
        $datas = get_transient( 'attempted_login' );

        if ( $datas['tried'] >= 3 ) {
            $until = get_option( '_transient_timeout_' . 'attempted_login' );
            $time = time_to_go( $until );

            return new WP_Error( 'too_many_tried',  sprintf( __( '<strong>ERROR</strong>: You have reached authentication limit, you will be able to try again in %1$s.' ) , $time ) );
        }
    }

    return $user;
}
add_filter( 'authenticate', 'check_attempted_login', 30, 3 ); 
function login_failed( $username ) {
    if ( get_transient( 'attempted_login' ) ) {
        $datas = get_transient( 'attempted_login' );
        $datas['tried']++;

        if ( $datas['tried'] <= 3 )
            set_transient( 'attempted_login', $datas , 300 );
    } else {
        $datas = array(
            'tried'     => 1
        );
        set_transient( 'attempted_login', $datas , 300 );
    }
}
add_action( 'wp_login_failed', 'login_failed', 10, 1 ); 

function time_to_go($timestamp)
{

    // converting the mysql timestamp to php time
    $periods = array(
        "second",
        "minute",
        "hour",
        "day",
        "week",
        "month",
        "year"
    );
    $lengths = array(
        "60",
        "60",
        "24",
        "7",
        "4.35",
        "12"
    );
    $current_timestamp = time();
    $difference = abs($current_timestamp - $timestamp);
    for ($i = 0; $difference >= $lengths[$i] && $i < count($lengths) - 1; $i ++) {
        $difference /= $lengths[$i];
    }
    $difference = round($difference);
    if (isset($difference)) {
        if ($difference != 1)
            $periods[$i] .= "s";
            $output = "$difference $periods[$i]";
            return $output;
    }
}

Dalam kode di atas, saya telah menggunakan tag tindakan wp_login_failed dan mengautentikasi tag filter untuk menghubungkan fungsi-fungsi untuk mendapatkan dan mengatur tryted_login sementara. Jumlah upaya yang gagal disimpan sementara dan digunakan untuk mengingatkan pengguna tentang hal itu setelah batas tercapai.
mengotentikasi Tag Filter ke Fungsi Hook Memeriksa Mencoba Mencoba Login

Menggunakan filter ini, hook callback check_attempted_login akan dipanggil. Dalam fungsi ini, metode get_transient WordPress digunakan untuk menghitung usaha login yang gagal. Jika pengguna mencoba lebih dari 2 kali dengan login yang salah, maka ini akan mengembalikan kesalahan WordPress tentang batas masuk gagal dan memblokir pengguna untuk login selama jangka waktu tertentu.

wp_login_failed Tag Tindakan untuk Menghubungkan metode untuk meningkatkan instance masuk yang gagal

Hook tindakan ini akan memanggil metode login_failed ketika upaya login pengguna gagal. Pada setiap upaya yang gagal, ini akan menambah jumlah login yang dicoba. Kemudian jumlah login yang dicoba akan diatur ke trytedlogin sementara yang akan digunakan kemudian untuk memblokir pengguna untuk login untuk jangka waktu sementara.

Dalam kode di atas, saya telah menggunakan fungsi time_to_go menghitung waktu yang tersisa untuk membiarkan pengguna masuk lagi setelah blok. Juga, mengubah stempel waktu menjadi format waktu yang mudah digunakan. Jika Anda ingin fungsi time_ago di PHP untuk menampilkan tanggal yang dibuat dalam format n (periode) yang lalu, maka artikel yang terhubung akan sangat membantu.
Screenshot Login WordPress dengan Pesan Kesalahan setelah Upaya Login Gagal

Screenshot di bawah menunjukkan tampilan panel login WordPress dengan pesan kesalahan yang menyatakan bahwa login diblokir. Ini akan ditampilkan setelah upaya login gagal

Cara Membatasi Sistem Login di WordPress

Oke itulah tadi pembahasan saya tentang Cara Membatasi Sistem Login di WordPress semoga bermanfaat.

 

Kategori

  • Aplikasi
  • Bootstrap
  • CSS
  • Framework
  • Framework CSS
  • Framework Javascript
  • Frontend
  • HTML
  • HTML CSS
  • Javascript
  • jQuery
  • Kursus Andorid
  • Kursus Web Design
  • Kursus Website
  • Laravel
  • PHP MySQL
  • Programming
  • Tips dan Trik
  • Tips Trik
  • Tools
  • Tutorial
  • Web Design
  • Website
  • Facebook
  • X
  • RSS
© DUMET School

WhatsApp us