是否可以使用Strophe.js使用匿名用户创建新用户(带内注册),如下例所示:http://groups.google.com/group/strophe/browse_thread/thread/a0e15ae226b91a3a?fwc=1。我设法仅使用现有帐户注册新用户(作为普通“非管理员”用户)。这是一个开火安全问题吗? 我使用以下方式匿名连接:
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(没有管理员权限)是不安全的吗?
答案 0 :(得分:2)
我设法仅使用现有帐户注册新用户(作为 普通的“非管理员”用户)。这是一个开火安全问题吗?
这取决于您的观点 - 如果这是您想要的,那么这不是安全问题。如果要将帐户创建限制为部署中的管理员,是的。 Openfire应该有配置参数来控制谁可以创建帐户(虽然在某些版本中这些控件根本不起作用 - 是安全问题!)。
有一些已知的脚本可以在开放注册的服务器上主动发现和注册帐户。有些人(特别是像jabber.org这样的大型目标)选择完全禁用带内注册,而其他人只是对其进行每IP限速限制。还有一个规范(XEP-0158)将CAPTCHAs发送给客户进行带内注册,但对此的支持还远未普及。
服务器返回:
你给出的错误节有xmlns=""
,这对我的眼睛是可疑的。应该是“jabber:client”,但无论如何OpenVP似乎都明白了。
您还可以尝试为您尝试注册的主机设置请求的“到”地址(例如,在注册“user@example.com”时to='example.com'
)。如果您已经设置'to',那么请尝试不使用它。在这一点上,我已经看到了对规范的不同解释。