rcguard Plugin

  1. 密碼輸出錯誤次數達設定值時,出現「I'm Not a Robot」認證,以防止有心人以程式進行登入嘗試。下載外掛套件:
    [root@mail ~]# cd /usr/share/roundcubemail/plugins/
    [root@mail plugins]# wget https://github.com/dsoares/roundcube-rcguard/archive/master.zip
    
  2. 解壓縮下載的 master 檔,產生目錄 roundcube-rcguard-master,將此目錄重新命名為 rcguard。
    [root@mail plugins]# unzip master 
    [root@mail plugins]# mv roundcube-rcguard-master rcguard
    
  3. 進入 rcguard 目錄,複製 config.inc.php.dist 為 config.inc.php。
    [root@mail plugins]# cd rcguard/
    [root@mail rcguard]# cp config.inc.php.dist config.inc.php
    
  4. http://www.google.com/recaptcha 取得 recaptcha 的 publickey 及 privatekey,並將其寫入設定檔 config.inc.php。
    [root@mail rcguard]# vim config.inc.php
    [root@mail rcguard]# grep recaptcha.*key config.inc.php
    $rcmail_config['recaptcha_publickey'] = 'xxxxxxxxxxxxxxxxxxxxxx';
    $rcmail_config['recaptcha_privatekey'] = 'xxxxxxxxxxxxxxxxxxxxxx';
    
  5. 修改設定,嘗試登入失敗 3 次出現「I'm Not a Robot」認證。
    [root@mail rcguard]# vim config.inc.php
    [root@mail rcguard]# grep failed_attempts config.inc.php
    $rcmail_config['failed_attempts'] = 3;
    
  6. 修改外掛套件名稱為 rcguard。
    [root@mail rcguard]# grep name.*rc composer.json 
        "name": "rcguard",
    
  7. 進入 SQL 目錄,以 mysql.initial.sql 在 roundcube 資料庫產生 rcguard 資料表。
    [root@mail rcguard]# cd SQL/
    [root@mail SQL]# mysql -uroot -p roundcube < mysql.initial.sql
    Enter password:
    
  8. 在 roundcubemail 主設定檔 plugins 加入 rcguard
    [root@mail SQL]# grep rcguard /etc/roundcubemail/config.inc.php
    $config['plugins'] = array('fetchmail',.... ,'rcguard')
    
  9. 測試輸入錯誤密碼 3 次後,出現「I'm Not a Robot」認證。
    Image not_a_robot