62,046
社区成员
发帖
与我相关
我的任务
分享
Dictionary<string, int>
类型的字典,按照请求的主要路径(也就是你这里的/search/)记录访问次数。然后根据你自己制定的规则,例如“凡是有20次search同时有5次loginde的”,发现满足规则的就将其IP计入黑名单”。每当接收到请求,首先判断当前的IP是否在黑名单上,如果不在黑名单,(注意)异步并发地调用这个检测。注意是异步并发调用,不要影响网页服务效率。
关键点其实在于,这个判断必须是使用本机服务器缓存数据来完成,而绝对不要访问后台服务、数据库等等。让你去数据库里或者业务处理模块里去判断“有没有此服务、、此数据、此页面”的建议都是不靠谱的。这种攻击的危害本来就在于消耗你这方面的资源。