
.net后台防止API接口被重复请求
发布日期:2021-05-09 07:36:45
浏览次数:17
分类:博客文章
本文共 823 字,大约阅读时间需要 2 分钟。
思路大概是这样的:
1.获取到发出请求的客户端的IP
2.将该IP存入Cache作为KEY,将次数作为Value初始化为0,过期时间设置为1分钟
3.每次请求都将value+1,超过指定的次数后返回false
代码是这样的:
////// 同一Ip地址重复频繁访问限制 /// 同一IP地址,1分钟内不能请求5次以上 /// /// 发出请求的IP地址 ///private bool ValidIp() { var ip = IpToAddress.GetClientIP(); if (MemCacheHelper.GetObject(ip) != null) { var cacheVal = (int)MemCacheHelper.GetObject(ip); if (cacheVal > 5) { return false; } MemCacheHelper.SetObject(ip, (int)MemCacheHelper.GetObject(ip) + 1, 60); } MemCacheHelper.SetObject(ip, 0, 60); return true; }
注:以上思路和代码是本人在开发功能的过程中临时想到的,因为怕忘记,所以记到博客上,具体是否可行,还未进行测试。
如有错误,望大神指正!
更多技术问题,欢迎关注公众号【程序员在职场】进行获取
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月19日 13时00分35秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
azure存储压测的问题(农码主观意识太强被坑了)
2019-03-06
使用用户自定义控件实现asp.net的的权限管理
2019-03-06
Nhibernate初学
2019-03-06
Struts2学习之旅二 tiles布局和权限管理
2019-03-06
java8-CompleableFuture的使用1
2019-03-06
面试刷题22:CAS和AQS是什么?
2019-03-06
云原生系列1 pod基础
2019-03-06
如何将 IPhone 的文件导入 Linux
2019-03-06
机器学习实战 - 读书笔记(14) - 利用SVD简化数据
2019-03-06
神经网络学习笔记-01-基本概念
2019-03-06
CSS躬行记(2)——伪类和伪元素
2019-03-06
JavaScript作用域原理(一)——作用域链
2019-03-06
JavaScript作用域原理(三)——作用域根据函数划分
2019-03-06
JavaScript中事件处理
2019-03-06
前端自动化构建工具gulp记录
2019-03-06
移动端图片操作(一)——上传
2019-03-06
Hammer.js分析(四)——recognizer.js
2019-03-06
移动端 H5图片裁剪插件,内置简单手势操作
2019-03-06
JavaScript性能优化 DOM编程
2019-03-06