GAE提供cron作业的计划作业。 如何设置一些安全,防止有人从执行HTTP直接拿到? 在下面的例子中,我可以在浏览器的URL字段中键入任何时间/了updateData在下面的设置执行作业:
cron:
- description: daily update of the data in the datastore
url: /updateData
schedule: every day 00:00
timezone: ...
GAE提供cron作业的计划作业。 如何设置一些安全,防止有人从执行HTTP直接拿到? 在下面的例子中,我可以在浏览器的URL字段中键入任何时间/了updateData在下面的设置执行作业:
cron:
- description: daily update of the data in the datastore
url: /updateData
schedule: every day 00:00
timezone: ...
除了什么保罗·C说,你可以创建检查X-AppEngine上,克龙头,如下所示的装饰。 顺便说一句,报头不能被欺骗,这意味着如果并非源自一个cron作业的请求有这个头,应用程序引擎将改变首的名字。 你也可以写一个类似的方法进行的任务,检查X-AppEngine上-TASKNAME在这种情况下。
"""
Decorator to indicate that this is a cron method and applies request.headers check
"""
def cron_method(handler):
def check_if_cron(self, *args, **kwargs):
if self.request.headers.get('X-AppEngine-Cron') is None:
self.error(403)
else:
return handler(self, *args, **kwargs)
return check_if_cron
并把它作为:
class ClassName(webapp2.RequestHandler):
@cron_method
def get(self):
....
您需要添加
login: admin
到左撇子,因为这里详细: 网址安全的克龙
EG
application: hello-cron
version: 1
runtime: python27
api_version: 1
handlers:
- url: /updateData
script: reports.app
login: admin