【问题标题】:Deny subscription to users with different domain on Google App Engine在 Google App Engine 上拒绝不同域的用户订阅
【发布时间】:2012-08-26 10:35:09
【问题描述】:

我正在 GAE(谷歌应用引擎)上开发一个应用程序。这个应用程序是一个聊天机器人,用户可以使用它来访问一些资源。问题是我不希望任何知道应用程序 ID 的用户可以将该聊天机器人添加到他们的联系人中,因为它管理私人信息,所以我只想限制我的域帐户的访问。我阅读了 GAE 文档并找到了这个(https://developers.google.com/appengine/docs/python/xmpp/overview#Handling_Subscriptions),但我真的不知道如何应用它。我做了这样的事情:

class SuscribeHandler(webapp.RequestHandler):
  def post(self):
    sender = self.request.get('from').split('/')[0]
    domain = sender.split("@")[1]
    if domain == "mydomain.com":
      #Add contact code goes here


app = webapp.WSGIApplication([
  ('/_ah/xmpp/subscription/subscribe/', SuscribeHandler),
  ], debug=True)

【问题讨论】:

    标签: python google-app-engine xmpp chat subscription


    【解决方案1】:

    您无法阻止用户将您的机器人添加到名册中。根据 XMPP 文档:

    App Engine 接受所有聊天邀请并自动注册订阅,如处理订阅部分所述。 App Engine 将所有聊天消息路由到应用程序,无论发件人之前是否向应用程序发送过邀请。

    您应该拒绝回复来自未经授权使用您的应用的用户的消息。

    【讨论】:

    • 非常感谢 Nick...如果我只解析发件人电子邮件并检查域是否安全?我的意思是...我可以收到欺骗性身份攻击吗?
    • @jtello 据我所知,XMPP 保证发件人的身份 - 因此您应该能够依赖指定的身份。
    猜你喜欢
    • 1970-01-01
    • 2014-05-12
    • 2011-01-29
    • 1970-01-01
    • 2014-10-29
    • 2018-11-24
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    相关资源
    最近更新 更多