2010-10-20 97 views
1

是否有可能确保GET/POST请求我的AppEngine应用程序,AJAX与否,只能从应用程序中所做的一个特定的URL,而不是从外部(即)来自其他域的所有请求必须被拒绝。谷歌的AppEngine URL安全

可能吗?

回答

5

请求不来自应用程序内或从另一个域。他们来自计算机,通过浏览器,爬行器,脚本或任何程序。这意味着你的问题不是特定于谷歌应用引擎,而是一般的网络编程。脆弱的方法是依靠HTTP_REFERRER,但我不建议这样做。您应该确保您的用户登录,并且只向您认识的用户显示关键信息。

1

请求(由队列等)是自动管理,所以你可以要求请求由管理员提出。只需添加以下至app.yaml:

- url: /whatever_url_you_want_protected 
    script: your_app.py 
    login: admin 

也是一个好主意以下跳过的文件添加到您的app.yaml底部:

skip_files: | 
^(.*/)?(
(app\.yaml)| 
(app\.yml)| 
(index\.yaml)| 
(index\.yml)| 
(#.*#)| 
(.*~)| 
(.*\.py[co])| 
(.*/RCS/.*)| 
(\..*)| 
(tests/.*) 
)$ 

这适用于GET/POST, ajax,任何类型的请求。