Просмотр исходного кода

频繁获取手机号 打印ip

chenbiao 2 лет назад
Родитель
Сommit
544d84abbc

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/user/BadIntentionOpService.java

@@ -3,7 +3,7 @@ package com.cyksj.service.user;
 import javax.servlet.http.HttpServletRequest;
 
 public interface BadIntentionOpService {
-    void checkHandleBadUserOp(String phone);
+    void checkHandleBadUserOp(HttpServletRequest request, String phone);
 
     void isBadOpLoginPhone(HttpServletRequest request, String phone);
 }

+ 5 - 1
netflix-service/src/main/java/com/cyksj/service/user/impl/BadIntentionOpServiceImpl.java

@@ -23,12 +23,15 @@ public class BadIntentionOpServiceImpl implements BadIntentionOpService {
     private static final int PHONE_LOGIN_CODE_RETRY = 10;
 
     @Override
-    public void checkHandleBadUserOp(String phone) {
+    public void checkHandleBadUserOp(HttpServletRequest request, String phone) {
         if ("13662979985".equals(phone)) {
             throw BusinessRuntimeException.getInstance("异常手机号");
         }
+        String ip = StringUtil.getInternalAddressByIP(ServletUtil.getClientIP(request));
+        log.info("--------------获取手机验证码------- ip:{}", ip);
         String dayKey = RedisService.key.PHONE_CODE_USER_NUM_KEY_DAY.getName() + phone;
         if (redisService.hasKey(RedisService.key.PHONE_CODE_BALCK_KEY.getName() + phone)) {
+            log.error("--------------黑名单 手机号------- ip:{}", ip);
             throw BusinessRuntimeException.getInstance("异常手机号");
         }
         if (redisService.hasKey(dayKey)) {
@@ -50,6 +53,7 @@ public class BadIntentionOpServiceImpl implements BadIntentionOpService {
     @Override
     public void isBadOpLoginPhone(HttpServletRequest request, String phone) {
         String ip = StringUtil.getInternalAddressByIP(ServletUtil.getClientIP(request));
+        log.info("--------------校验ip 是否黑名单------- ip:{}", ip);
         String blackIpKey = RedisService.key.BALCK_USER_IP_KEY + ip;
         if (redisService.hasKey(blackIpKey)) {
             throw BusinessRuntimeException.getInstance("检测到您操作异常,请联系客服");

+ 11 - 0
netflix-web/src/main/java/com/cyksj/web/controller/market/TaskFrontController.java

@@ -12,13 +12,16 @@ import com.cyksj.model.request.UserBindInfoReq;
 import com.cyksj.model.views.TaskFrontView;
 import com.cyksj.service.market.MarketFrontService;
 import com.cyksj.service.market.task.BindTaskService;
+import com.cyksj.service.user.BadIntentionOpService;
 import com.cyksj.service.user.UserBindRelationService;
 import com.cyksj.service.user.UserService;
 import com.cyksj.web.util.StpUserUtil;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.SearchResult;
 import com.ejlchina.searcher.util.MapUtils;
+import com.ejlchina.searcher.util.StringUtils;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -31,6 +34,7 @@ import javax.servlet.http.HttpServletResponse;
  *创建者: JavaZou
  *创建时间:2022/12/28 13:51
  */
+@Slf4j
 @RestController
 @RequestMapping("/applets/market/task")
 @RequiredArgsConstructor
@@ -48,6 +52,9 @@ public class TaskFrontController {
 
 	private final UserBindRelationService userBindRelationService;
 
+	private final BadIntentionOpService badIntentionOpService;
+
+	private final HttpServletRequest request;
 	/**
 	 * 任务列表
 	 */
@@ -82,6 +89,10 @@ public class TaskFrontController {
 	@Deprecated
 	public Result<String> bindPhone(@RequestBody LoginReq phoneReq) {
 		Long userId = StpUserUtil.getLoginIdAsLong();
+		log.info("绑定手机号 userId:{}, params:{}", userId, phoneReq);
+		if(StringUtils.isNotBlank(phoneReq.getPhone())){
+			badIntentionOpService.isBadOpLoginPhone(request, phoneReq.getPhone());
+		}
 		User user = userMapper.selectById(userId);
 		bindTaskService.bindPhone(user, phoneReq.getPhone(), phoneReq.getCode());
 		return GatewayResponse.SUCCESS.newBuilder().toResult("绑定手机号成功");

+ 1 - 1
netflix-web/src/main/java/com/cyksj/web/controller/user/AuthorizationController.java

@@ -379,7 +379,7 @@ public class AuthorizationController {
             throw BusinessRuntimeException.getInstance("短信验证码未失效");
         }
         //是否是恶意用户
-        badIntentionOpService.checkHandleBadUserOp(phone);
+        badIntentionOpService.checkHandleBadUserOp(request, phone);
         String code = StringUtil.getRandomCodeStr(digit);
         Boolean isFlag;
         if (!isFree) {