Plugins wordpress pengaman wp admin dan menyembunyikan wp login

Plugins ini bikinanku sendiri, masih bingung mau aku kasih nama apa :)
Sementara aku kasih nama "Menyembunyikan wp-login" Gunanya kalau ada orang iseng mau membuka/mengakses dashboar wordpress atau mau buka halaman login, maka yang akan muncul adalah error 404.
Error 404 ini adalah kode error jika file atau URL yang kita buka tidak ada.
Langsung saja saya share langkah-langkah pembuatan pluginsnya.
  1. Bikin file text cuma berisi 2 baris terserah mau disimpan dengan nama apa, boleh pake .txt atau .dat atau .ini
    contoh: konfigurasi.txt
    tulis username pada baris pertama dan password pada baris kedua.
    user name dan password tidak harus sama dengan user dan password wordpressnya, saya anjurkan beda dengan yang untuk wordpress.
  2. Copy kode berikut ini, perhatikan konfigurasi.txt adalah file text yang tadi dibikin
    <?php
    /*
    Plugin Name: Menyembunyikan wp-login
    Description: URL wp-login.php tidak akan muncul jika belum login pakai form login plugin ini
    Version: 0.0.7
    Author: Hendro
    Author URI: http://www.mp3free4.us/
    */
    
    $konfig = dirname(__FILE__).'/konfigurasi.txt';
    $usr = file($konfig);
    $anggota = trim($usr[0]);
    $pas = trim($usr[1]);
    $cuki = $anggota.$pas;
    $cuki = md5(md5($cuki));
    
    if(isset($_GET['action']) && $_GET['action'] == 'logout') {
     setcookie('mlebu', '');
    }
    if(isset($_GET['loggedout']) && $_GET['loggedout'] == 'true') {
     header('Location: ./'); exit;
    }
    
    if($_SERVER['REQUEST_URI'] === '/mumet') {
     if(isset($_POST['mlebu'])) {
      if($_POST['jeneng'] === $anggota && $_POST['kunci'] === $pas) {
       $coki = $_POST['jeneng'].$_POST['kunci'];
       $coki = md5(md5($coki));
       setcookie('mlebu', $coki, time()+(3600*2), '/');
      }
     }
    
    ?>
    <html>
    <head>
    <title>User Login</title>
    </head>
    <body>
    <h1>User Login</h1>
    <form method='post' action=''>
    <table>
    <tr><td>Username</td><td>: <input type='text' name='jeneng' autocomplete='off' value=''/></td></tr>
    <tr><td>Password</td><td>: <input type='password' name='kunci' autocomplete='off' value=''/></td></tr>
    <tr><td colspan='2'><input type='submit' name='mlebu' value='Login' style='float:left;'/></td></tr>
    </table>
    </form>
    <?php
     if(isset($_POST['mlebu'])) {
      if($_POST['jeneng'] === $anggota && $_POST['kunci'] === $pas) {
       echo '<h2>Login Tahap 1 Sukses</h2>Tunggu sebentar, anda akan di bawa masuk ke login selanjutnya.<br/><b>Demi keamanan sesi untuk administrator dibatasi hanya 2 jam, setelah itu anda harus login lagi dari awal.</b><br/><br/>Jika dalam waktu 10 detik anda tidak otomatis diredirect ke login selanjutnya silakan <a href="../wp-login.php">klik di sini</a><meta http-equiv="refresh" content="10; url=../wp-login.php">';
      }
      else { echo '<h2>Login Salah</h2>Silakan coba lagi.'; }
     }
    echo "<br/>\r\n</body>\r\n</html>";
    exit;
    }
    
    perhatikan baris ini
    if($_SERVER['REQUEST_URI'] === '/mumet') {
    '/mumet' itu nanti digunakan untuk URL login, contoh http://domain.com/mumet
    anda harus mengganti mumet dengan kata yang lain dan usahakan yang susah ditebak
    simpan sebagai file php terserah mau pakai nama apa, disimpan sebagai index.php juga boleh
  3. Buka FTP atau file manager cpanel hosting anda dan masuk ke folder wp-content, masuk lagi ke subfolder plugins.
    bikin subfolder baru di dalam folder plugins dan upload kedua file tadi ke folder baru tersebut.
  4. Login ke dashboard wordpress kemudian aktifkan plugin Menyembunyikan wp-login ini
  5. Balik ke FTP atau file manager cpanel lagi.
    edit file php plugin ini kemudian tambahkan kode berikut ini di bawah tanda } yang paling bawah
    if(!isset($_COOKIE['mlebu']) OR $_COOKIE['mlebu'] != $cuki){
     if(preg_match('/wp-login/', $_SERVER['REQUEST_URI']) OR preg_match('/\/wp-admin/', $_SERVER['REQUEST_URI'])) {
      header('HTTP/1.1 404 Not Found');
      header("Status: 404 Not Found");
    ?>
    <html>
    <head>
    <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0" />
    <meta name="robots" content="noindex, noodp, noydir" />
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    
    
    <br/>
    The request URL <?php echo $_SERVER["REQUEST_URI"]; ?> was not found on this server.<br />
    </body>
    </html>
    <?php
      exit();
     }
    }
    
  6. Coba balik lagi ke dashboard wp dan refresh, kalau yang muncul error 404 Not Found berarti anda sudah berhasil menginstall plugins pengaman ini.
    Selanjutnya untuk masuk ke dashboard, anda harus melewati 2 login. yang pertama login yang digenerate oleh plugins Menyembunyikan wp-login dan yang kedua login aslinya wordpress
Pasti timbul pertanyaan "Kenapa kok ada penambahan kode setelah plugin diaktivasi, kenapa gak ditulis langsung pada saat sebelum diupload?"
Karena kalau ditulis sekalian sebelum diupload maka plugins ini tidak akan bisa diaktivasi karena keburu error 404 lebih dulu dan bahkan seterusnya dashboard akan error 404 kalau pluginnya belum kita hapus ;)
Penambahan kode di atas juga tidak bisa dilakukan lewat plugins editor di dashboard wp, kecuali kalau mau edit user dan passwordnya.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.