2012-08-31 73 views
1

我正在開發GAE(谷歌應用程序引擎)上的應用程序。這個應用程序是一個聊天機器人,用戶可以使用它來訪問一些資源。問題是,我不希望任何知道應用程序ID的用戶都可以將該聊天機器人添加到他們的聯繫人中,因爲它管理着私人信息,所以我只想限制我的域帳戶的訪問權限。我閱讀GAE文檔並找到了這個(https://developers.google.com/appengine/docs/python/xmpp/overview#Handling_Subscriptions),但我不知道如何應用它。我做了這樣的事情:拒絕訂閱Google App Engine上具有不同域的用戶

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) 

回答

1

你不能阻止用戶把你的機器人添加到名冊。根據XMPP文檔:

App Engine接受所有聊天邀請並自動註冊訂閱,如處理訂閱部分所述。 App Engine將所有聊天消息路由到應用程序,而不管發件人以前是否向該應用程序發送過邀請。

您應該簡單地拒絕迴應未授權使用您的應用的用戶發來的消息。

+0

非常感謝尼克...是安全的,如果我只是解析發件人的電子郵件和檢查域?我的意思是......我可以收到欺騙身份攻擊嗎? – jtello

+1

@jtello據我所知,XMPP保證發件人的身份 - 所以你應該能夠依據指定的身份。 –

相關問題