2

我想阻止常见的 xmpp 客户端(例如 Pidgin、PSI+、...)登录我们的 xmpp 服务器(ejabberd)。我怎样才能做到这一点?

提前致谢。

4

3 回答 3

3

我不认为这真的可以做到。当然,您可以作弊并断开通过 DiscoInfo声明自己的客户,但不声明您是谁很容易。

而且,这简直是愚蠢的。XMPP 是用于特定目的的开放协议:因此彼此不认识的客户端和服务器仍然可以使用通用协议进行通信。就像您问“如何为使用 Firefox 的人关闭我的网站”。

于 2013-09-06T07:34:56.170 回答
2

一种方法是实现这些客户端不支持的专有身份验证机制。这将阻止大多数(如果不是全部)客户。当然,总有人可以分叉一个现有的客户端并添加对这种身份验证机制的支持。取决于您的服务有多受欢迎...

于 2013-09-06T16:10:58.840 回答
0

您是否试图阻止任何人通过未经授权的客户端使用您的 xmpp 服务器:Psi、Adium 等;或者您是否试图阻止未经授权的人(可能来自您的组织外部)使用您的 xmpp 服务器?前者违背了 xmpp 的设计目标。如果您尝试完成后者:关闭注册。您将需要提出一个程序来创建初始用户名/密码令牌,以允许授权人员进入服务器。您可能希望启用用户密码更改. 这些过程可能是部分或完全手动的,具体取决于适合您的组织的方式。如果您的组织足够大,可以通过 LDAP/Active Directory 集中管理用户,您可以对大多数 xmpp 服务器使用 LDAP 身份验证,并且通过适当的过滤,您甚至可以进行配置,以便您的一部分用户可以访问 xmpp,而其他用户则可以访问 xmpp。该子集将被拒绝访问。

于 2014-08-18T16:29:22.783 回答