如何拦截机器攻击(刷注册、刷票、刷优惠券、刷现金红包、数据爬取等等)

记得刚工作不久,正好是微信小程序刚进入“跳一跳”的时期,想抓住这个契机,开发一款小程序,赶一波红利。然后就在公司打地铺连轴转了两周,终于在一个凌晨搞定3次内测的积累的修改需求,大家都各自回窝睡觉,准备第二天正式发布。我两眼也直打架,但睡之前还想再确认一遍还有没有其他bug。

就是这次睡前拖延证,救了我们这个小团队。当时也不知道出于什么原因,鬼使神差的打开了微信商户的交易记录,一打开就看到两串金额一样的提现记录,最新记录的时间就是现在!第一串金额比较小,连着几十条,应该是试探;第二串就开始提高金额了,碰巧我赶在第10多条看到了。赶紧叫醒几个同事处理。这要是睡着了,一晚上不知道要被提走多少。

当时压根就没想到过会有这种还没上线就被扫接口、直接刷提现的操作,要是我也直接睡了,第二天等我们醒来就该卷着铺盖回家了。所以在风控上小心总是不会错的,这时黑产就是你的对手,就是奔着钱来的,会想尽办法去找各种漏洞

 

其实大家应该也有类似的遭遇,毕竟现在的黑产真的是无孔不入。不管是活动上线还是平时运维,应该都遇到过机器攻击,各种批量注册、发帖灌水、刷积分、刷券、刷票、刷榜、爬虫等等等等,甚至像我遇到的这种扫接口刷接口的,只有你想不到,没有黑产做不到。轻则攒一堆垃圾数据干扰分析,等虚假繁荣的泡沫一破就一脸懵逼的怀疑人生了:我的用户怎么都在装死?重则人财两空,钱花了不少&#x

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
为了开发Java优惠券模块,我们需要先搭建项目结构,然后实现CouponType类和CouponTemplateService类。 1. 搭建项目结构 在搭建项目结构时,我们需要创建一个Maven项目,并在pom.xml文件中添加所需的依赖。具体步骤如下: - 创建Maven项目 - 在pom.xml文件中添加Spring Boot和其他所需的依赖 - 创建Java包结构 - 在Java包结构中创建所需的类 2. 实现CouponType类 CouponType类定义了多个不同类型的优惠券,convert方法可以根据优惠券的编码返回对应的枚举对象。这里还有一个“Unknown”类型的券,它专门用来对付故意输错code的恶意请求。具体代码如下: ```java public enum CouponType { MANJIAN("满减券", "001"), ZHEKOU("折扣券", "002"), LIJIAN("立减券", "003"), UNKNOWN("未知券", "999"); // 优惠券描述信息 private String description; // 优惠券编码 private String code; CouponType(String description, String code) { this.description = description; this.code = code; } public String getDescription() { return description; } public String getCode() { return code; } public static CouponType of(String code) { for (CouponType type : values()) { if (type.code.equals(code)) { return type; } } return UNKNOWN; } } ``` 3. 实现CouponTemplateService类 CouponTemplateService类是整个项目的底层基础服务,用于生成优惠券模板。具体代码如下: ```java @Service public class CouponTemplateService { /** * 构造优惠券模板 * * @param request {@link TemplateRequest} 模板信息请求对象 * @return {@link CouponTemplate} 优惠券模板实体 * @throws CouponException 优惠券通用异常 */ public CouponTemplate buildTemplate(TemplateRequest request) throws CouponException { if (!request.validate()) { throw new CouponException("BuildTemplate Param Is Not Valid!"); } // 判断同名的优惠券模板是否存在 if (dao.findByName(request.getName()) != null) { throw new CouponException("Exist Same Name Template!"); } // 构造优惠券模板 CouponTemplate template = requestToTemplate(request); template.setCreateTime(new Date()); template.setUpdateTime(template.getCreateTime()); return dao.save(template); } /** * 将 TemplateRequest 转换为 CouponTemplate * * @param request {@link TemplateRequest} * @return {@link CouponTemplate} */ private CouponTemplate requestToTemplate(TemplateRequest request) { return new CouponTemplate( request.getName(), request.getLogo(), request.getDesc(), request.getCategory(), request.getProductLine(), request.getCount(), request.getUserId(), request.getTarget(), request.getRule() ); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值