SMSサービスインターフェイスのセキュリティは、SMSインターフェイスを開発またはドッキングするときに特に懸念されます。一部の***は、悪意のある競争から外れたり、SMSで他の人を爆撃したりする可能性があります。*** SMSサービスインターフェイス、検証SMSを盗み、経済的損失を引き起こします。では、SMSインターフェースが悪意を持って呼び出されるのを防ぐにはどうすればよいでしょうか。この記事では、SMSファイアウォールの使用方法を紹介します。#SMSファイアウォール#
➤リスク管理ファイアウォールの使用方法
手順1:ファイアウォールアカウントキーを取得する
入力ファイアウォールコンソールを左側のナビゲーションバーで、[サイトの管理]を選択し、サイトの管理ページを入力し、クリックし、[]ボックスにキーて送信を受け取ります。
ステップ2:ファイアウォールサーバーをダウンロードする
移動し、ファイアウォールの公式ウェブサイトは、[ソリューション]> [ダウンロードセンター]トップナビゲーションバーで、ダウンロードセンターのページを入力してくださいSMSのファイアウォールサーバーのインストールパッケージを見つけて、[]をクリックし、ダウンロードリンクをダウンロードする]を。
ステップ3:ビジネスシステムのフロントエンドおよびバックエンドアクセス
Webフロントエンドアクセス:
Java JSファイルをインポートするには、ページの適切な位置(タグ内)に次のコードを追加します。
<script type="text/javascript" src="/NxtJsServlet"></script>
PHPは、JSファイルをインポートするために、ページの適切な位置(タグ内)に次のコードを追加します。
<script id="finger" type="text/javascript" src="/nxt_inc/nxt_front.php"></script>
バックエンドアクセス:
Java
構成を変更します(ビジネスシステムと同じシステムを変更する必要はありません)。
newxt.ini(保存場所: "\ src \ resource")
パラメーターの変更(fireWareUrl)-> http:// localhost:7502(ローカルサービスパス)
(isNginx)-> true(リバースプロキシの有無にかかわらず)
- SMS配信
public RetMsg smsSend(HttpServletRequest request, HttpServletResponse response, String clientMobile) {
RetMsg retMsg = new RetMsg(-1, "系统异常");
FwClient fwClient = new FwClientImpl();
try {
// 1 调用【短信防火墙】短信发送请求
HashMap < String, Object > paramMap = fwClient.getSendReq(request, clientMobile);
String jsonReq = fwClient.execReq(paramMap);
String smsSendRet = fwClient.getRetVaule(jsonReq, "riskResult");
if("REJECT".equals(smsSendRet)) {
retMsg.setRet(3);
retMsg.setMsg("请求过于频繁");
}
else {
// 业务 TODO
// 业务调用短信接口 TODO
// 调用短信接口 结束
if(smsRetMsg != null && smsRetMsg.getRet() == 0) {
// 2 调用【短信防火墙】成功结果
fwClient.execSucc(paramMap);
logger.debug("send succ");
retMsg.setRet(0);
retMsg.setMsg("发送验证码成功");
}
else {
// 2 调用【短信防火墙】失败结果
SmsVerifyCache.getInstance().remove(clientMobile);
fwClient.execFail(paramMap);
retMsg.setRet(-1);
retMsg.setMsg("发送验证码失败");
}
}
}
catch(Exception e) {
for(StackTraceElement elment: e.getStackTrace()) {
logger.error(elment.toString());
}
}
return retMsg;
}
- SMS検証
public RetMsg smsVerify(HttpServletRequest request, HttpServletResponse response, String clientMobile, String smsVerifyCode) {
FwClient fwClient = new FwClientImpl();
RetMsg retMsg = new RetMsg(-1, "系统异常");
if(smsVerifyCode == null || smsVerifyCode.isEmpty()) {
retMsg.setRet(1);
retMsg.setMsg("输入验证码为空");
}
else {
// 1 调用【短信防火墙】验证请求
HashMap < String, Object > paramMap = fwClient.getVerifyReq(request, clientMobile); // 请求防火墙
String jsonReq = fwClient.execReq(paramMap);
// 报文处理
String smsSendRet = fwClient.getRetVaule(jsonReq, "riskResult");
if("REJECT".equals(smsSendRet)) {
retMsg.setRet(3);
retMsg.setMsg("请求过于频繁");
}
// 业务 TODO
if(cacheSmsVerify != null && cacheSmsVerify.getVerifyCode() != null && !cacheSmsVerify.getVerifyCode().isEmpty()) {
if(cacheSmsVerify.getVerifyCode().equals(smsVerifyCode)) {
retMsg.setRet(0);
retMsg.setMsg("验证成功");
}
else {
retMsg.setRet(1);
retMsg.setMsg("验证码错误");
}
}
else {
retMsg.setRet(-9);
retMsg.setMsg("验证码超时");
}
if(retMsg.getRet() == 0) {
// 2 调用【短信防火墙】成功结果
fwClient.execSucc(paramMap);
}
else {
// 2 调用【短信防火墙】失败结果
fwClient.execFail(paramMap);
}
}
return retMsg;
}
PHP
構成ファイルを変更します(ビジネスシステムと同じシステムを変更する必要はありません)。
nxt_ini.php(保存場所: "\ nxt_inc")パラメーターの変更(\ $ GLOBALS
["fireWareUrl"])-> $ GLOBALS ["fireWareUrl"] = " http:// localhost:7502 "
- SMS配信
require_once $_SERVER['DOCUMENT_ROOT'].
"/nxt_inc/nxt_client.php";
/**
* 发送短信
* @param $mobile
*/
public
function send(string $mobile) {
$fwClient = new ClientApi();
// 获取下发短信报文
$paramMap = $fwClient - > getSendReq($phone);
// 执行下发短信请求
$jsonReq = $fwClient - > execReq($paramMap);
$fwRet = $fwClient - > getRetVaule($jsonReq, "riskResult");
if("REJECT" != $fwRet) {
// 发送短信业务 TODO
if(发送成功标记) {
// 下发短信成功
$fwClient - > execSucc($paramMap);
}
else {
// 下发短信失败
$fwClient - > execFail($paramMap);
}
}
}
- SMS検証
/**
* 短信验证
* @param $mobile
*/
public
function smsVerify(string $mobile) {
$fwClient = new ClientApi();
// 获取短信验证报文
$paramMap = $fwClient - > getVerifyReq($phone);
// 执行短信验证请求
$jsonReq = $fwClient - > execReq($paramMap);
$fwRet = $fwClient - > getRetVaule($jsonReq, "riskResult");
if("REJECT" != $fwRet) {
// 验证短信业务 TODO
if(验证成功标记) {
// 验证短信成功
$fwClient - > execSucc($paramMap);
}
else {
// 验证短信失败
$fwClient - > execFail($paramMap);
}
}
}
ステップ4:リアルタイムの監視
防御と傍受のデータにはパノラマビューがあり、その日のデータの詳細と最近のリスクの傾向をリアルタイムで表示できます。リスク管理データダッシュボードを介して、1〜30日の検証ステータス、リスク管理傍受ステータス、および検証イベントによってトリガーされたAIモデルを表示できます。
入力ファイアウォールコンソールを、リスク市場のページを入力するには、左側のナビゲーションバーで[リスク市場]を選択します。
上記は、SMSファイアウォールを使用するプロセス全体です。詳細については、ファイアウォールの公式Webサイト(www.newxtc.com)に従ってください。