博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.net后台防止API接口被重复请求
阅读量:4957 次
发布时间:2019-06-12

本文共 879 字,大约阅读时间需要 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; }

  注:以上思路和代码是本人在开发功能的过程中临时想到的,因为怕忘记,所以记到博客上,具体是否可行,还未进行测试。

    如有错误,望大神指正!

 

 

更多技术问题,欢迎关注公众号【程序员在职场】进行获取

转载于:https://www.cnblogs.com/w821759016/p/10684619.html

你可能感兴趣的文章
C3P0 WARN: Establishing SSL connection without server's identity verification is not recommended
查看>>
iPhone在日本最牛,在中国输得最慘
查看>>
动态方法决议 和 消息转发
查看>>
WPF自定义搜索框代码分享
查看>>
js 基础拓展
查看>>
C#生成随机数
查看>>
iOS CoreData介绍和使用(以及一些注意事项)
查看>>
Android应用程序与SurfaceFlinger服务的连接过程分析
查看>>
Java回顾之多线程
查看>>
sqlite
查看>>
机电行业如何进行信息化建设
查看>>
9、总线
查看>>
Git 笔记 - section 1
查看>>
HDU6409 没有兄弟的舞会
查看>>
2018 Multi-University Training Contest 10 - TeaTree
查看>>
2018 Multi-University Training Contest 10 - Count
查看>>
HDU6203 ping ping ping
查看>>
《人人都是产品经理》书籍目录
查看>>
如何在git bash中运行mysql
查看>>
OO第三阶段总结
查看>>