gpt4 book ai didi

java - 有没有办法检查哪个程序正在连接到套接字?

转载 作者:太空宇宙 更新时间:2023-11-04 13:41:17 25 4
gpt4 key购买 nike

有没有一种方法,在java中检查什么类型的程序正在连接到服务器套接字。我有一个示例服务器,它是一个基本的单页 Web 服务器。但我只想允许来自特定应用程序的连接。例如网络浏览器。因为我不希望任何人有一个随机程序并连接到我的服务器来尝试破解它。我研究过,但没有成功。如果您想了解我的项目详情,请访问https://github.com/sebagius7110/ServerSebs

我需要做的就是建立连接,如果该程序例如是谷歌浏览器,它就会允许连接通过。但例如,它需要确保它有一个网络界面,因此没有人可以随意创建一个名为 google chrome 的应用程序并连接到它。这是一个安全问题。

我知道这是一个很长的问题,而且很难,但提前致谢。

最佳答案

Is there a way to check what program is connecting to a socket?

不,没有办法。

在套接字级别,服务器无法获得有关哪个程序在客户端发起连接的信息。

在 HTTP 协议(protocol)级别,HTTP 请求消息中提供了信息来识别请求来自的“用户代理”类型。然而这并不可靠。试图攻击您的人可能会在 User-Agent header 中添加误导性信息。

简而言之,这种防止黑客攻击的方法不会有效,甚至可能不值得实现。

此外......什么才能阻止某人使用(例如)真正的 Google Chrome 应用程序作为他们的黑客工具?

(无论您使用哪种编程语言,都适用相同的答案......)

关于java - 有没有办法检查哪个程序正在连接到套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31237457/

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