MQTT订阅#topic允许用户阅读所有消息?

MQTT subscribe to # topic allows the user to read all messages?

我正在阅读 this 关于主题订阅的内容。因此,如果我使用通配符订阅 # 主题,那么我将收到所有消息。

这是否意味着我可以拦截通信?当有人向 secret 主题发布消息时,我也会收到它。

显然不是这样。但是我错过了什么?

关于相关问题,经纪人如何阻止用户订阅特定主题或发布到其他人?我假设没有人可以将数据发送给经纪人。它在某种程度上类似于 HTTP 吗?

使用基本的开箱即用配置,任何人都可以连接到代理并订阅 # 将发布所有消息,您可以发布到任何您想要的主题。

MQTT 协议包括对身份验证的支持,作为与代理建立连接的一部分。一旦您拥有经过身份验证的用户,就可以将规则应用于该用户可以执行的操作。不同的经纪人以不同的方式实现如何创建这些规则,但 mosquitto 支持 ACL。

使用 ACL,您可以定义用户可以订阅和发布的主题。内置机制是一个平面文件,但也支持插件系统,允许您在数据库中保留 username/password 和允许的主题。这允许无需重新启动代理即可轻松更新 ACL。