中国站
帮助中心 > 安全 > 高防IP > 常见问题 > 高防IP/高防CDN 如何接入手机短信防刷功能,实现拦截恶意刷短信功能

高防IP/高防CDN 如何接入手机短信防刷功能,实现拦截恶意刷短信功能

高防IP/高防CDN 如何接入手机短信防刷功能

功能背景

随着各大网站增加短信注册或者短信登录验证功能,网站或应用的发送接口就成了一个攻击者关注的突破点,相比于CC攻击让服务器负载崩溃,短信接口攻击,同样甚至更加会造成用户的损失。

常见防护思路和亿速云手机短信防刷功能的特点

对于上述问题,有技术或技术团队的,多数会接入极验等验证模块,在用户点击发送短信时,先进行人机核验,排除一般的脚本攻击或者无头浏览器的模拟请求后,再发送手机短信。
1. 这种方案,需要动用开发人员修改前端页面,引入脚本并配置才行,同时服务端还要增加对应的路由来接受前端的参数验证,并返回给前端。需要同时修改页面和服务端的代码。
2. 而且,验证功能并不免费,是根据请求次数进行扣费的。换句话说,如果攻击者使用AI 浏览器或者无头浏览器进行模拟,这类服务的成本也不小。
亿速云高防IP/高防CDN 的手机短信防刷功能优势
1. 在接入上,相比于上述方案,更加简单,同样只需要将脚本引入,然后复制我们提供的前端js脚本即可,不需要修改任何服务端的代码。前端的这部分操作,即使是没有编程基础的人,也可以在指导或者AI帮助下完成。
2. 同时,对于请求次数,只要您在使用着亿速云高防IP/高防CDN 该功能永久免费。不收取任何额外费用

如何接入

1.只需要提供您的短信接口地址即可,后续所有的配置,可联系技术人员快速操作


配置完成后,该接口将处于被高防IP保护的状态,只要验证不通过的,都无法请求,比如

2.将手机防刷功能的js文件,放置项目的静态文件目录下,并在短信功能同页面引入。

  1. <script>
  2. // 如需调试则添加这部分,并使用_console.log进行调试
  3. var _console = {
  4. log: console.log.bind(console),
  5. warn: console.warn.bind(console),
  6. error: console.error.bind(console)
  7. };
  8. </script>
  9. <!-- 基础引导库-->
  10. <script src="static/v4/yisu.js"></script>

添加初始化代码

  1. var loginBtn=document.getElementById('btn-login'); //登录按钮ID
  2. var resource="";// 定义全局变量用来存储验证结果
  3. function initBind(){ //创建初始化方法
  4. initYisutest4({
  5. captchaId:'demo_float_001', //上图的ID
  6. apiServers:['defense12.yisuddoscdn.com'], protocol:'http://', //您服务器的域名和协议
  7. product:'bind' //服务类型,如果是绑定到某个ID上,填写bind
  8. }, function(captcha) {
  9. // bind 模式
  10. captcha.appendTo(loginBtn);
  11. // onSuccess 回调:验证通过时参数字第一时间记录例如业务日志
  12. captcha.onSuccess(function(){
  13. var r = captcha.getValidate();
  14. resource = r
  15. _console.log("验证通过,准备提交后端校验:", resource);
  16. _console.log("r的值:", JSON.stringify(resource));
  17. });
  18. });
  19. }
  20. // 登录按鈕业务逻辑:展示结果
  21. loginBtn.addEventListener('click', function(){
  22. _console.log("resource的值:", JSON.stringify(resource));
  23. //模拟获取登录的用户名和密码
  24. var username=document.getElementById('f-user');
  25. var password=document.getElementById('f-pwd');
  26. _console.log(username.value);
  27. _console.log(password.value);
  28. var xhr = new XMLHttpRequest();
  29. //将验证成功获取的resource中的字段拼接成url的参数,添加到短信url地址后即可
  30. var params = new URLSearchParams(resource);
  31. _console.log(params.toString());
  32. xhr.open('POST', 'http://defense12.yisuddoscdn.com/login?'+params.toString(), true);
  33. xhr.setRequestHeader('Content-Type', 'application/json');
  34. xhr.send(JSON.stringify({username: username.value, password: password.value}));
  35. xhr.onreadystatechange = function() {
  36. if (xhr.readyState === 4 && xhr.status === 200) {
  37. _console.log('登录成功');
  38. }
  39. };
  40. });

配置完成后,实际效果