documentation
MBUSTER
MBUSTER API 連動
MBUSTER 적용 방법

MBUSTERの適用方法

マクロ検出およびブロック機能用ライブラリの実装

WASサーバーでの運用に必要なjava、js、png、jspファイルの適用が必要です。

MBUSTER連携用ファイルリストは以下の通りです。

  • Mbuster.QF.jsp
  • Mbuster.QC.jsp
  • Mbuster_T.jsp
  • MBusterAPI.java
  • captcha.js
  • fingerPrint.js
Explorerカテゴリファイルタイプ説明
WASサーバー呼出しjavaMBusterAPI.java
WASサーバー制御jspMbuster_QC.jsp
Mbuster_QF.jsp
Mbuster_T.jsp
WASサーバー制御javascriptmbuster_meta.js
mbuster_api.js
captcha.js
fingerPrint.js
その他その他その他ファイルMBUSTER関連の静的ファイル

連携方法

  • ソースコードにMBUSTER連携ファイルを追加します。
  • 連携を希望する位置で MBusterAPI.callMBusterApiReject 関数を呼び出します。
  • API通信結果(マクロ検出結果)に基づいた制御を実装します。

MBUSTER APIスクリプトの挿入と呼出し例

  1. MBUSTER関連
<script type="text/javascript" src="${pageContext.request.contextPath}/mbuster/resource/js/mbuster_meta.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/mbuster/resource/js/mbuster_api.js"></script>
  1. MBUSTER WEB連携
MBUSTER_API({
    clientIP : ClientIP,
    user_login_id : user_login_id
});

MBUSTER_API() 呼出し時のパラメーター

必須パラメーター説明
必須clientIpクライアントIP
user_login_idユーザーログインID(利用不可の場合は空)
⚠️

必須パラメーターを渡さないとAPIの呼出しができません。クライアントのIPを必ず引数に渡してください。

mbuster_meta.jsファイルの修正

const service_type = "http";
const macro_domain = "127.0.0.1"; // MBUSTERの呼出しドメイン
const macro_cookie_domain = '127.0.0.1'; // クッキー保存対象ドメイン(連携対象サイト)
const macro_port = "8180";
const g_groupName = "www.stclab.com";
 
const mbuster_info_url = {
    T : "./mbuster/Mbuster_T.jsp", // ブロック
    QC : "./mbuster/Mbuster_QC.jsp", // Captcha
    QF : "./mbuster/Mbuster_QF.jsp" // FingerPrint(ブラウザチャレンジ)
};
 
const mbmhIo = true;
パラメーター説明
requestクライアントリクエストHttpServerletRequestHttpServerletRequest request
responseクライアントHttpServerletResponseHttpServerletResponse response
groupNameMBUSTER登録ドメイングループ名mbuster.io
loginIdユーザーログインID(利用不可の場合はクライアントIP)user_id

MBUSTER APIリクエスト

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    
    HttpSession session = request.getSession();
 
    String groupName = "www.stclab.com";
 
    String userId = (String) session.getAttribute("login_id");
 
    // 1. APIを呼び出し
    String result = MBusterAPI.callMBusterApiReject(request, response, groupName, userId);
 
    // 2. API結果に基づく制御
    String tmp[] = result.split(":");
 
    if(tmp[0].equals("E")) {
        return true;
    }
 
    else if (tmp[0].equals("F")) {
        return true;
    } else if (tmp[0].equals("T")) {
        RequestDispatcher dispatcher = request.getRequestDispatcher("/mbuster/Mbuster_T.jsp");
        dispatcher.forward(request, response);
        return false;
    } else if (tmp[0].equals("QC")) {
        request.setAttribute("clientIp", tmp[1]);
        request.setAttribute("loginId", tmp[2]);
        request.setAttribute("groupName", tmp[3]);
 
        RequestDispatcher dispatcher = request.getRequestDispatcher("/mbuster/Mbuster_QC.jsp");
        dispatcher.forward(request, response);
        return false;
    } else if (tmp[0].equals("QF")) {
        request.setAttribute("clientIp", tmp[1]);
        request.setAttribute("loginId", tmp[2]);
        request.setAttribute("groupName", tmp[3]);
 
        RequestDispatcher dispatcher = request.getRequestDispatcher("/mbuster/Mbuster_QF.jsp");
        dispatcher.forward(request, response);
        return false;
    }
 
    return true;
}
パラメーター説明
service_typeAPIサービスプロトコル(http / https)http
macro_domainMBUSTER機器URL(IPまたはドメイン)mbuster.co.kr
macro_cookie_domainクッキー保存対象ドメイン(連携対象サイトのアドレス)www.stclab.com (opens in a new tab)
macro_portMBUSTER APIサービスポート(8180デフォルト)8180
g_groupNameMBUSTER登録ドメイングループ名www.stclab.com (opens in a new tab)

MBUSTER APIリクエスト時の返却結果 パラメーター: result

項目結果値
ユーザー"0"
通信エラー"E", "F"
ブロック"T"
CAPTCHA"QC"
ブラウザチャレンジ"QF"
通信エラーまたはユーザーの場合、元のページを呼び出し、マクロの場合はフラグに基づいて制御します。