|
@@ -110,28 +110,28 @@ public class MktMgmtHandPushServiceImpl implements MktMgmtHandPushService {
|
|
if (pushValidationConfig.getEnableAddressCheck() &&
|
|
if (pushValidationConfig.getEnableAddressCheck() &&
|
|
globalRule.getPushAddr() != null && !globalRule.getPushAddr().isEmpty()) {
|
|
globalRule.getPushAddr() != null && !globalRule.getPushAddr().isEmpty()) {
|
|
|
|
|
|
- if ("All".equals(globalRule.getPushAddr().get(0))){
|
|
|
|
- return "推送地址【All】";
|
|
|
|
|
|
+ if (!"All".equals(globalRule.getPushAddr().get(0))){
|
|
|
|
+ String fullAddress = ipLocationUtil.getCityByIP(saveDTO.getPushIP());
|
|
|
|
+ if (fullAddress == null) {
|
|
|
|
+ return "无法解析推送IP【" + saveDTO.getPushIP() + "】的地址信息";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 检查是否匹配pushAddr中的任一地址
|
|
|
|
+ boolean addressMatched = false;
|
|
|
|
+ for (String allowedAddr : globalRule.getPushAddr()) {
|
|
|
|
+ if (isAddressMatched(fullAddress, allowedAddr)) {
|
|
|
|
+ addressMatched = true;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!addressMatched) {
|
|
|
|
+ return "推送地址【" + fullAddress + "】不在允许的地址范围内,允许的地址:" + globalRule.getPushAddr();
|
|
|
|
+ }
|
|
|
|
+ log.info("地址校验通过,IP:{},地址:{}", saveDTO.getPushIP(), fullAddress);
|
|
}
|
|
}
|
|
|
|
|
|
- String fullAddress = ipLocationUtil.getCityByIP(saveDTO.getPushIP());
|
|
|
|
- if (fullAddress == null) {
|
|
|
|
- return "无法解析推送IP【" + saveDTO.getPushIP() + "】的地址信息";
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 检查是否匹配pushAddr中的任一地址
|
|
|
|
- boolean addressMatched = false;
|
|
|
|
- for (String allowedAddr : globalRule.getPushAddr()) {
|
|
|
|
- if (isAddressMatched(fullAddress, allowedAddr)) {
|
|
|
|
- addressMatched = true;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (!addressMatched) {
|
|
|
|
- return "推送地址【" + fullAddress + "】不在允许的地址范围内,允许的地址:" + globalRule.getPushAddr();
|
|
|
|
- }
|
|
|
|
- log.info("地址校验通过,IP:{},地址:{}", saveDTO.getPushIP(), fullAddress);
|
|
|
|
|
|
+ log.info("地址校验通过,ALL-----");
|
|
}
|
|
}
|
|
|
|
|
|
// 4. 应用校验 - 根据客户端ID获取设备信息并匹配pushApp和pushBundle
|
|
// 4. 应用校验 - 根据客户端ID获取设备信息并匹配pushApp和pushBundle
|