2011-05-14 60 views
3

对于谷歌应用程序引擎应用程序,我想限制自己访问我的网站http://myapplication.appspot.com,但同时让我的android手机应用程序用户访问它。 我的android手机应用程序使用从谷歌应用程序发明者到我的appspot数据库的自定义TinyWebdB组件的GetValue和StoreValue命令。如何限制访问myapplication.appspot.com - 谷歌应用程序引擎?

我的appspot.com页面是用Python编写的(文件main.py)。

我应该将什么指令添加到app.yaml和main.py文件中?

回答

2

在您的移动应用程序中,您应该在发送的标头或用户代理字符串中添加独特的内容。然后在你的python代码中,你可以检查该值是否存在,以决定访问者是被允许还是被禁止(返回状态码403)。

要允许自己查看应用程序,应检查当前用户是否为管理员用户。

Sortacode例如:

from google.appengine.api import users 

allowed = False 

if unique_value_in_request(): 
    allowed = True 

user = users.get_current_user() 
if user and users.is_current_user_admin(): 
    allowed = True 

if not allowed: 
    # return 403 status 

# do normal stuff 
+0

注意的是,虽然这是最好的方法,它仍然很容易回避:攻击者可以简单地提取从应用程序或请求痕迹相关细节和“假装”是应用程序。另外,您不应该在模块级别编写此代码,正如代码片段所暗示的那样;它应该在一个处理程序中,或者由一个处理程序调用。 – 2011-05-14 23:32:43