gpt4 book ai didi

node.js - 如何测试输入是否不是/dev/random?

转载 作者:太空宇宙 更新时间:2023-11-03 22:56:35 25 4
gpt4 key购买 nike

我正在使用一个简单的聊天服务器,并且正在尝试保护它的安全。我让 Node.js 监听一个端口,接受来自所有客户端的所有输入并将其返回给所有客户端。我可以通过这样做来淹没服务器

cat /dev/random | chat

其中聊天是客户端应用程序。它淹没了服务器和每个客户端。我知道我可以测试输入是否长于某个给定的数量,例如 500 个字符,但它正在淹没服务器(检查需要在服务器上进行,而不是在客户端上进行,因为我也可以远程登录)。

我想我需要检查以确保输入中没有控制字符,但仍然允许所有随机 UNICODE。我该怎么做?哪些角色可能是坏的?

编辑:我添加了一些速率限制,这样它们就不能淹没服务器。我添加逻辑来测试平均发布时间是否低于某个阈值,如果是则关闭其连接。但我不知道如何做到这一点:)

最佳答案

/dev/random 或控制字符不是问题——有人仍然可以使用随机的纯文本流向您的服务器发送垃圾邮件。更好的方法是对您的客户端进行速率限制,以便您在某个时间间隔内仅接受一定数量的数据。例如,如果客户端在一秒内发送超过 500 个字节,您可以将该客户端静音 5 秒。

关于node.js - 如何测试输入是否不是/dev/random?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6049683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com