是否可以使用 Strope.js 使用匿名用户创建新用户(带内注册),如示例所示:http://groups.google.com/group/strophe/browse_thread/thread/a0e15ae226b91a3a?fwc=1 。我设法仅使用现有帐户注册新用户(作为普通的“非管理员”用户)。这是一个 openfire 安全问题吗? 我使用匿名连接:
connection.connect("server.local", null, onConnect);
服务器返回:
<iq xmlns="" type="error" id="reg2" to="7711fc7f@server.local/7711fc7f">
<query xmlns="jabber:iq:register">
<username>user</username>
<password>abc</password>
</query>
<error code="400" type="modify">
<bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>
如果我与注册用户连接,它工作正常,我可以创建其他用户。允许从专用用户帐户(如 register@server.local)(没有管理员权限)注册是否不安全?
最佳答案
I managed to register new users with an existing account only (as a normal "not admin" user). Is that a openfire security issue?
这取决于您的观点 - 如果这是您想要的,那么这不是安全问题。如果您想将帐户创建限制为部署中的管理员,是的。 Openfire 应该有配置参数来控制谁可以创建帐户(尽管在某些版本中这些控制根本不起作用 - 这是一个安全问题!)。
有一些已知的脚本可以在开放注册的服务器上主动发现和注册帐户。有些人(尤其是像 jabber.org 这样的大型目标)选择完全禁用带内注册,而其他人则只是对其设置每个 IP 的速率限制。 XEP-0158 还有一个规范 ( CAPTCHAs )发送给客户端进行带内注册,但对此的支持还远未普及。
The server returns:
您给出的错误节有 xmlns=""
,在我看来这是可疑的。它应该是“jabber:client”,但 Openfire 似乎还是理解它。
您还可以尝试将请求的“收件人”地址设置为您尝试注册的主机(例如,在注册“user@example.com”时设置to='example.com'
) ')。如果您已经设置为“to”,请尝试不使用它。我看到了围绕这一点的规范的不同解释。
关于javascript - Openfire:在 openfire 服务器中使用 SASL Anonymous 创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10421082/