作者 lyh
... ... @@ -232,4 +232,17 @@ class Arr extends \Illuminate\Support\Arr
}
}
}
/**
* 一行一行的转为数组
* @author zbj
* @date 2024/9/6
*/
public static function lineToArray($arr){
$arr = is_array($arr) ? $arr : [$arr];
$array = array_merge(...array_map(function($item) {
return array_map('trim', preg_split('/\r?\n/', $item));
}, $arr));
return array_values(array_unique(array_filter($array)));
}
}
... ...
... ... @@ -489,13 +489,13 @@ class ProjectLogic extends BaseLogic
*/
public function saveInquiryFilterConfig($config){
$config['filter_countries'] = Arr::a2s(!empty($config['filter_countries']) ? $config['filter_countries'] : []);
$config['filter_contents'] = Arr::a2s(!empty($config['filter_contents']) ? $config['filter_contents'] : []);
$config['filter_referers'] = Arr::a2s(!empty($config['filter_referers']) ? $config['filter_referers'] : []);
$config['filter_emails'] = Arr::a2s(!empty($config['filter_emails']) ? $config['filter_emails'] : []);
$config['filter_mobiles'] = Arr::a2s(!empty($config['filter_mobiles']) ? $config['filter_mobiles'] : []);
$config['filter_names'] = Arr::a2s(!empty($config['filter_names']) ? $config['filter_names'] : []);
$config['black_ips'] = $config['black_ips'] ?? '';
$config['filter_countries'] = !empty($config['filter_countries']) ? Arr::lineToArray($config['filter_countries']) : [];
$config['filter_contents'] = !empty($config['filter_contents']) ? Arr::lineToArray($config['filter_contents']) : [];
$config['filter_referers'] = !empty($config['filter_referers']) ? Arr::lineToArray($config['filter_referers']) : [];
$config['filter_emails'] = !empty($config['filter_emails']) ? Arr::lineToArray($config['filter_emails']) : [];
$config['filter_mobiles'] = !empty($config['filter_mobiles']) ? Arr::lineToArray($config['filter_mobiles']) : [];
$config['filter_names'] = !empty($config['filter_names']) ? Arr::lineToArray($config['filter_names']) : [];
$config['black_ips'] = !empty($config['black_ips']) ? Arr::lineToArray($config['black_ips']) : [];
$model = InquiryFilterConfig::where('project_id', $config['project_id'])->first();
if(!$model){
... ...
... ... @@ -24,6 +24,7 @@ class InquiryFilterConfig extends Base
'filter_emails' => 'array',
'filter_mobiles' => 'array',
'filter_names' => 'array',
'black_ips' => 'array',
];
/**
... ...
... ... @@ -271,7 +271,7 @@ class SyncSubmitTaskService
}
//过滤ip
if($config['black_ips']){
$black_ips = explode("\r\n", $config['black_ips']);
$black_ips = $config['black_ips'];
//后端获取的ip
if(in_array($data['ip'], $black_ips)){
throw new InquiryFilterException( '过滤黑名单IP:' . $data['ip']);
... ...