javascript - Openfire:在 openfire 服务器中使用 SASL Anonymous 创建用户

标签 javascript xmpp openfire strophe

是否可以使用 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/

相关文章:

android - XMPP(带有 smack)- 添加好友

xmpp - 如何让 Openfire 用户出现在聊天室中

android - Smack 在 Android 上,通过本地 Openfire 服务器在两个用户之间发送数据包/消息时收到错误代码 ="404"未找到远程服务器

android - 如何在android中的aSmack xmpp中创建组?

iOS 发送消息时出现错误 404 远程服务器未找到错误

android - 使用 Retrofit simplexml 转换器时出现编译错误

javascript - 如何使用 requestAnimationFrame 暂停和重新启动秒表计时器?

javascript - 当框架从 DOM 中删除时,内部运行的 JS 是否会从内存中清除?

javascript - 重新编写,TypeScript : Cannot find module '@rescript/react/src/ReactDOM.gen' or its corresponding type declarations

javascript - Vuex 存储在 vue-router 中未定义