- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用 nodejs 编写一个高度可扩展的基于浏览器的网络聊天服务器。所涉及的概念很简单——首先它检查浏览器是否支持 websocket。如果不支持或与服务器规范不兼容,它会优雅地降级为传统的长轮询。
利用其高度事件化的 I/O 模型,到目前为止,我找不到任何其他框架能像 nodejs 那样出色且适合这种工作。但是,我有一个与 DOS 攻击有关的问题,我决定提出一个简单的解决方案。但是,我不确定这是否是对抗这些大规模洪水攻击的最理想方式。
我打算做的是——如果来自单个 IP 地址的 50 个或更多请求在特定时间长度(例如 1 秒)内到达服务器,则拒绝来自该 IP 的所有进一步请求,直到该特定时间间隔失效,依此类推。
这样会好吗?
最佳答案
这不适用于 DDOS 攻击 - 分布式拒绝服务 - 其中使用了许多 IP,并且当您需要继续为与参与攻击的机器位于同一防火墙内的某些机器提供服务时。
DDOS 中使用的机器通常是被接管的僵尸机器。当针对大型目标的 DDOS 启动时,每个 IP 限制可能会禁止所有计算机进入同一个防火墙 LAN。当纽约时报的机器被感染并被用于 DDOS 时,这可能会给大公司带来非常糟糕的公关,时报的记者检查公司的网站是否关闭,并被阻止导致他们报告这次攻击比实际成功得多。
要在 DDOS 面前继续提供服务,您确实需要根据请求本身的常见元素来阻止请求,而不仅仅是 IP。 security.se可能是有关如何做到这一点的具体建议的最佳论坛。
关于javascript - nodejs 服务器抵御 DOS 攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14755707/
总结 我依靠编译器指向代码中的每个位置,在更改父类中成员函数的签名时需要更新,但编译器未能指出子类中该函数的重写实例类,导致我的程序出现逻辑错误。我想重新实现这些类,以便在进行此类更改时可以更多地依赖
目前,我采用“将所有东西都扔到墙上,看看有什么能粘住”的方法来阻止上述问题。下面是我拼凑的函数: function madSafety($string) { $string = mysql_real_
.NET ConcurrentDictionary 易受竞争条件的影响,可能会导致意外数据,如 at the bottom of this MSDN article. 所述我假设有几个因素需要考虑。
我是一名优秀的程序员,十分优秀!