Browse Source

feat: support get_malicious_ip for bt_waf

pull/264/head
Illustar0 4 weeks ago
parent
commit
6785d259f6
No known key found for this signature in database GPG Key ID: C9B7620FBE7BD5D7
  1. 35
      app/controller/Api.php
  2. 2
      route/app.php

35
app/controller/Api.php

@ -2,6 +2,7 @@
namespace app\controller; namespace app\controller;
use think\facade\Db; use think\facade\Db;
use think\facade\Cache;
use app\BaseController; use app\BaseController;
use app\lib\Plugins; use app\lib\Plugins;
@ -466,6 +467,40 @@ class Api extends BaseController
return json(['status'=>true, 'msg'=>'', 'data'=>$data]); return json(['status'=>true, 'msg'=>'', 'data'=>$data]);
} }
//获取堡塔云WAF恶意IP库
public function get_malicious_ip_list()
{
$cacheKey = 'malicious_ip_list';
// 尝试从缓存获取
if (Cache::has($cacheKey)) {
return json(json_decode(Cache::get($cacheKey), true));
}
$url = 'https://api.bt.cn/bt_waf/get_malicious_ip';
$postData = json_encode([
'x_bt_token' => 'MzI3YjAzOGQ3Yjk3NjUxYjVlMDkyMGFm'
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Length: ' . strlen($postData)
]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
return json(['status'=>true, 'msg'=>'', 'data'=>$data]);
}
curl_close($ch);
Cache::set($cacheKey, $response, 86400); //缓存一天
return json(json_decode($response, true));
}
public function return_success(){ public function return_success(){
return json(['status'=>true, 'msg'=>1, 'data'=>(object)[]]); return json(['status'=>true, 'msg'=>1, 'data'=>(object)[]]);
} }

2
route/app.php

@ -18,7 +18,7 @@ Route::post('/Auth/GetBindCode', 'api/return_error');
Route::post('/auth/GetUserGiveAway', 'api/get_user_give_away'); Route::post('/auth/GetUserGiveAway', 'api/get_user_give_away');
Route::any('/bt_monitor/update_history', 'api/btm_update_history'); Route::any('/bt_monitor/update_history', 'api/btm_update_history');
Route::any('/bt_monitor/latest_version', 'api/btm_latest_version'); Route::any('/bt_monitor/latest_version', 'api/btm_latest_version');
Route::any('/bt_waf/get_malicious_ip', 'api/get_ssl_list');
Route::any('/bt_waf/get_malicious_ip', 'api/get_malicious_ip_list');
Route::any('/bt_waf/daily_count_v2', 'api/get_ssl_list'); Route::any('/bt_waf/daily_count_v2', 'api/get_ssl_list');
Route::any('/bt_waf/latest_version', 'api/btwaf_latest_version'); Route::any('/bt_waf/latest_version', 'api/btwaf_latest_version');

Loading…
Cancel
Save