gpt4 book ai didi

Java:安全套接字接受

转载 作者:行者123 更新时间:2023-12-02 05:40:36 24 4
gpt4 key购买 nike

我得到了别人编写的这个多线程服务器应用程序。当它要接受带有 ServerSocket 对象的 Socket 对象时,它通过一个名为“acceptSocketSafe”的方法运行。

这是程序的一个片段,其中包含了所需的代码部分:

public Socket acceptSocketSafe(ServerSocket x)  {
boolean socketFound = false;
Socket socket = null;

do {
try {
socket = x.accept();
int i = socket.getInputStream().read();

if ((i & 0xFF) == 14) {
socketFound = true;
}
} catch (Exception e) {

}
} while (!socketFound);

return socket;
}

我不明白的是,“acceptSocketSafe”方法如何使套接字接受比我的做法(简单、常规的方式)更安全。 (我相信它可以排除恶意连接(例如 DDoS)。

感谢您对此方法的任何解释!

最佳答案

这是默默无闻的安全。无论如何,套接字都会被接受,只是它检查客户端是否发送 0x0E (14) 作为第一个字节。如果没有,它会抛出(顺便说一句,不会关闭接受的套接字。)。

只要在连接后不发送任何内容,仍然可能受到 DDoS 攻击...

编辑:仔细观察,它甚至不需要是分布式攻击。单个客户端不发送任何字节将完全阻塞接受循环,任务完成。不管是谁写的,都不知道他在做什么。

关于Java:安全套接字接受,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24555185/

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