当前位置: 首页 > wzjs >正文

如何做内网站的宣传栏百度指数里的资讯指数是什么

如何做内网站的宣传栏,百度指数里的资讯指数是什么,微信支付 公司网站,左右设计家官网一、纯前端验证码 场景 防止机器人或脚本高频提交&#xff0c;需用户完成验证后才能触发请求。 Vue 前端实现 <template><div><button click"showCaptcha">提交订单</button><div v-if"captchaVisible"><img :src"…

一、纯前端验证码
场景
防止机器人或脚本高频提交,需用户完成验证后才能触发请求。

Vue 前端实现

<template><div><button @click="showCaptcha">提交订单</button><div v-if="captchaVisible"><img :src="captchaImage" alt="验证码" /><input v-model="captchaInput" placeholder="输入验证码" /><button @click="verifyCaptcha">验证</button></div></div>
</template><script>
export default {data() {return {captchaVisible: false,captchaImage: "",captchaInput: "",captchaKey: "", // 后端生成的验证码唯一标识};},methods: {async showCaptcha() {// 向后端请求验证码const res = await this.$axios.get("/api/captcha/generate");this.captchaImage = res.data.image;this.captchaKey = res.data.key;this.captchaVisible = true;},async verifyCaptcha() {// 提交验证码到后端校验const res = await this.$axios.post("/api/captcha/verify", {key: this.captchaKey,code: this.captchaInput,});if (res.data.success) {this.captchaVisible = false;this.submitOrder(); // 验证通过后执行实际提交}},submitOrder() {// 实际业务请求this.$axios.post("/api/order/create");},},
};
</script>

C# 后端实现

[ApiController]
[Route("api/captcha")]
public class CaptchaController : ControllerBase
{private static Dictionary<string, string> _captchas = new Dictionary<string, string>();[HttpGet("generate")]public IActionResult GenerateCaptcha(){// 生成随机验证码(示例简化,实际需生成图片)var code = new Random().Next(1000, 9999).ToString();var key = Guid.NewGuid().ToString();_captchas[key] = code;return Ok(new {key = key,image = $"data:image/png;base64,{GenerateBase64Image(code)}" // 生成图片的Base64});}[HttpPost("verify")]public IActionResult VerifyCaptcha([FromBody] VerifyRequest request){if (_captchas.TryGetValue(request.Key, out var validCode) && validCode == request.Code){_captchas.Remove(request.Key);return Ok(new { success = true });}return Ok(new { success = false });}
}

二、禁用按钮
场景
防止用户重复点击提交按钮,前端临时禁用按钮。

Vue 前端实现

<template><button @click="handleSubmit" :disabled="isSubmitting">{{ isSubmitting ? '提交中...' : '提交订单' }}</button>
</template><script>
export default {data() {return {isSubmitting: false,};},methods: {async handleSubmit() {if (this.isSubmitting) return;this.isSubmitting = true;try {await this.$axios.post("/api/order/create");} finally {this.isSubmitting = false;}},},
};
</script>

三、调用限制(后端频率限制)
场景
限制客户端在固定时间窗口内对同一接口的调用次数。

C# 后端实现(基于内存缓存)

[ApiController]
[Route("api/order")]
public class OrderController : ControllerBase
{private static MemoryCache _requestCache = new MemoryCache(new MemoryCacheOptions());[HttpPost("create")]public IActionResult CreateOrder([FromBody] OrderRequest request){var clientIp = HttpContext.Connection.RemoteIpAddress.ToString();var cacheKey = $"rate_limit_{clientIp}";// 检查请求频率(示例:10秒内最多3次)if (_requestCache.TryGetValue(cacheKey, out int count) && count >= 3){return StatusCode(429, "请求过于频繁,请稍后再试");}// 更新计数器_requestCache.Set(cacheKey, count + 1, TimeSpan.FromSeconds(10));// 实际业务逻辑return Ok(new { success = true });}
}

四、假排队(前端模拟排队)
场景
通过前端动画或提示缓解用户等待焦虑,实际请求仍按正常流程处理。

Vue 前端实现

vue
<template><div><button @click="mockQueue">立即抢购</button><div v-if="isInQueue"><p>排队中,前方还有 {{ queuePosition }} 人...</p><div class="loading-animation"></div></div></div>
</template><script>
export default {data() {return {isInQueue: false,queuePosition: 0,};},methods: {async mockQueue() {if (this.isInQueue) return;this.isInQueue = true;this.queuePosition = Math.floor(Math.random() * 10) + 1; // 模拟随机队列位置// 模拟排队等待(实际请求在后台发送)await new Promise(resolve => setTimeout(resolve, 2000));try {await this.$axios.post("/api/purchase");this.isInQueue = false;} catch (error) {this.isInQueue = false;}},},
};
</script><style>
.loading-animation {width: 20px;height: 20px;border: 2px solid #ccc;border-top-color: #333;border-radius: 50%;animation: spin 1s linear infinite;
}@keyframes spin {to { transform: rotate(360deg); }
}
</style>

总结与对比
在这里插入图片描述

实际建议:

组合使用:验证码 + 后端限流可有效防御自动化攻击。

用户体验优先:禁用按钮和假排队适合提升用户感知。

监控与告警:结合日志监控异常请求模式(如Nginx或ELK)。

http://www.dtcms.com/wzjs/211022.html

相关文章:

  • 做网站链接怎么做广东广州疫情最新情况
  • 广州网站建设优化百度一下移动版首页
  • 别墅效果图网站广州网络推广专员
  • 实例讲解html5制作一个网站泉州seo按天计费
  • 义乌做网站的电话百度提交收录
  • 站长之家素材网seo搜索优化费用
  • 怎么做金融营销网站湖南长沙seo教育
  • php如何自己做网站seo推广技术培训
  • 企业网站建设服务公司如何建立自己的网站
  • 手把手教你做网站视频佛山百度网站排名优化
  • 电影网站可以备案吗seo工资一般多少
  • 西部数码成品网站免费创建属于自己的网站
  • 网站开发系统百度客服24小时人工服务
  • 网站建设文件名电商网站seo
  • 图片做多的网站是哪个seo 优化教程
  • 网站上传百度多久收录百度推广获客
  • 网站后台有哪些360上网安全导航
  • 直销结算网站开发百度app推广方法
  • 广州市营销型网站建设网络营销产品策略分析
  • 怎样做关于自己的网站宁波网络推广方法
  • 商丘网站建设有限公司免费域名注册官网
  • 美工做兼职在那个网站如何优化网站快速排名
  • 达州纪委党风廉政建设网站做一个公司网页多少钱
  • 网站开发研究资料书籍百度推广一个月多少钱
  • jsporacle动态网站开发企业如何网络推广
  • 360免费建站李梦网络营销主要是什么
  • 1688域名网站哪里有学电脑培训班
  • 如何做网站收录搜索量最大的关键词
  • 网站后台编辑器下载上海seo优化
  • 青浦做网站公司注册