Jos*_*osh 13 ruby security xmpp image xmpp4r
对于Stack Overflow聊天的XMPP界面,我目前正在使用聊天消息的HTML并转换为有效的XML,并将其设置为htmlXMPP message对象的子元素.在我的Mac OS X jabber客户端中,这工作得很好!这意味着当SO聊天中的用户发布了一个单盒化图像时,该图像将显示在我的XMPP客户端(Adium for OS X)中:

但是我刚刚将Adium更新到了最新版本,显然他们认为我正在做的是一个安全漏洞和XMPP规范,并改变了这种行为.他们的理由是XMPP不应该透露你的IP地址,而通过HTTP获取图像会显示我的IP地址.
所以现在这些聊天对XMPP来说是无形的.如何使图像在XMPP上运行?我的XMPP组件应该下载图像并将它们嵌入到<Message>节中吗?可以通过XMPP服务器代理图像吗?或者这是不可能的?
Adium,iChat和Pidgin都支持XEP-0231,它允许您发送提供二进制数据,包括图像用于此目的.基本上,它允许您指定唯一标识符作为图像的源,然后另一个客户端可以决定是否要在请求中请求数据<iq>.
我一直在python的Twisted中使用它,但遇到了一些挫折.我知道 Adium和iChat至少使用它来请求数据.