关于站内恶意搜索屏蔽,无论软件、代码处理均可!求教!?

坠落的流星-tony 2015-04-08 09:46:11
近期有人通过软件形式,通过 url 参数据填充进行一些非法字符的恶意搜索,如下:
/search/怎么样查看他人里的微信聊天记录?【客服QQ:***********】2015-03-30aircraft/
/search/【QQ:***************】2015-03-27ch/
/search/【QQ:***-***-***】张生-2015-03-29xydzqrsgCIe/

很多很多类似的搜索,本身此链接字符串存在非法参数的特殊字符,我就在 Global.asax 设置所有异常均跳转到 404页面,原以为这样应该不会有问题了,谁知还是存在资源占用的问题!

现站点极不稳定,从应用池产生“检测死锁”,访问 400 错误,更重要的是导致正常操作无法链接到数据库,connection timeout。。。。。。。
求思络、解决方案,谢谢。。。Ps:项目较老,非我所写,大的变动会有些困难!
...全文
169 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
通常就是这样4个因素 --> 通常就是这样3个因素 自己写几十行代码就行了,不仅仅因为免费,特别是你可以自己写“规则判断”部分(因为产品为你自己把握)从而达到最高的效率,不用去求别人。
  • 打赏
  • 举报
回复
每一种攻击的特征都是不太一样的,你不应该靠简单地选择什么“狗”去防范。你应该自己掌握基本的技术,否则就成了瞎子了。 把握设置这种“规则”其实是很简单的,通常就是这样4个因素: 1. 时间窗口的长度。例如我上面举出的“10秒钟”。 2. 事件发生频率超过阀值。 3. 组合2种或者3种事件来考虑以便提高判断精确性,而不要仅仅考虑一种事件。 同时,一定是“异步并发”地去进行这种判断,而不要影响正常业务服务速度。
阿良良木月火 2015-04-08
  • 打赏
  • 举报
回复
引用 3 楼 young_programmer 的回复:
[quote=引用 1 楼 weimochengxi 的回复:] 我也想知道,真是太讨厌了
亲,你采用了什么方法在处理类似的问题啊?[/quote] 用的第三方插件
  • 打赏
  • 举报
回复
引用 楼主 young_programmer 的回复:
原以为这样应该不会有问题了,谁知还是存在资源占用的问题!
这种攻击,本来就是让你占用业务逻辑处理、数据库访问的资源。因此如果你还去通过业务判断、访问数据库判断等等之后然后导向404,那就是上了它们的当了。 防止这类攻击,不管你采取什么办法,原则都是“内存处理、不访问数据库、不调用一般的业务处理模块”。首先保证这个原则。 比如说你可以在内存中为每一个Remote IP创建一个Duration存在时间为10秒钟的缓存单元,保存
Dictionary<string, int>
类型的字典,按照请求的主要路径(也就是你这里的/search/)记录访问次数。然后根据你自己制定的规则,例如“凡是有20次search同时有5次loginde的”,发现满足规则的就将其IP计入黑名单”。每当接收到请求,首先判断当前的IP是否在黑名单上,如果不在黑名单,(注意)异步并发地调用这个检测。注意是异步并发调用,不要影响网页服务效率。 关键点其实在于,这个判断必须是使用本机服务器缓存数据来完成,而绝对不要访问后台服务、数据库等等。让你去数据库里或者业务处理模块里去判断“有没有此服务、、此数据、此页面”的建议都是不靠谱的。这种攻击的危害本来就在于消耗你这方面的资源。
  • 打赏
  • 举报
回复
这个是验证输入数据的,不是验证UI控件,当然它也有这部分功能,但我从来不用这部分功能的
  • 打赏
  • 举报
回复
引用 4 楼 starfd 的回复:
接受参数时增加数据验证,你可以考虑加入Entlib的数据验证模块
介个不是太懂啊,简单的看了一下,这是验证UI控件的?
编程有钱人了 2015-04-08
  • 打赏
  • 举报
回复
引用 7 楼 young_programmer 的回复:
[quote=引用 6 楼 wangjun8868 的回复:] 安装服务器安全狗吧 自动都给你过滤掉了
安全狗装了,但是无法达到想要的效果,它有时候会把正常用户的访问也屏蔽!你有试过吗?[/quote] 是IIS安全狗 吗???可以做的到,包括各种注入,非法访问等等
  • 打赏
  • 举报
回复
引用 5 楼 wyd1520 的回复:
你总有一个入口点吧,关键词屏闭
这些搜索词有的本身就存在“url特殊字符”,我曾调试过,我还没有获取到这串字符,它就己经报出系统错误了!本想建个屏蔽词典的。。。
  • 打赏
  • 举报
回复
引用 6 楼 wangjun8868 的回复:
安装服务器安全狗吧 自动都给你过滤掉了
安全狗装了,但是无法达到想要的效果,它有时候会把正常用户的访问也屏蔽!你有试过吗?
编程有钱人了 2015-04-08
  • 打赏
  • 举报
回复
安装服务器安全狗吧 自动都给你过滤掉了
本拉灯 2015-04-08
  • 打赏
  • 举报
回复
你总有一个入口点吧,关键词屏闭
  • 打赏
  • 举报
回复
接受参数时增加数据验证,你可以考虑加入Entlib的数据验证模块
  • 打赏
  • 举报
回复
引用 1 楼 weimochengxi 的回复:
我也想知道,真是太讨厌了
亲,你采用了什么方法在处理类似的问题啊?
  • 打赏
  • 举报
回复
具体搜索的词由于CSDN 拦截,无法写全。。。。
阿良良木月火 2015-04-08
  • 打赏
  • 举报
回复
我也想知道,真是太讨厌了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧