Google Appengine网址安全性

时间:2010-10-20 12:31:30

标签: security google-app-engine url

是否可以确保对我的Appengine应用程序的特定网址(无论是否为AJAX)的GET / POST请求只能在应用程序内部而不是从外部进行(即)来自其他域的所有请求都必须被拒绝

可能的?

3 个答案:

答案 0 :(得分:5)

请求不是来自应用中的或来自其他域。它们来自计算机,通过浏览器,爬虫,脚本或任何程序。这意味着您的问题并非针对谷歌应用引擎,而是针对网络编程。一个脆弱的方法是依赖HTTP_REFERRER,但我不建议这样做。您应该确保您的用户登录,并且只向您知道的用户显示关键信息。

答案 1 :(得分:5)

除了@klausbyskov所说的,你应该看看针对Cross-Site Request Forgery(CSRF)的各种保护机制。

答案 2 :(得分: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,任何类型的请求。