【发布时间】:2017-04-23 17:31:03
【问题描述】:
我是谷歌应用引擎的新手。我想要 cron 的 url 的安全限制,以便它不应该被 url 直接访问。为此,我已经阅读了文档和一些问答 ([Google app engine: security of cron jobs)。
我实施了此链接中建议的login : admin 解决方案。但是我没有实现安全,因为self.request.headers.get('X-AppEngine-Cron')总是None,无论是cron还是直接通过url访问。
所以我不知道请求来自哪里(来自 cron 或直接访问)
def cron_method(BaseRestHandler):
def check_if_cron(self, *args, **kwargs):
if self.request.headers.get('X-AppEngine-Cron') is None:
logging.info("error-- not cron")
self.UNAUTH = "cron"
self.raise_exception()
else:
return BaseRestHandler(self, *args, **kwargs)
return check_if_cron
我使用自定义处理程序 BaseRestHandler 进行其他身份验证。
@cron_method
def put(self):
logging.info("inside put--")
这是通过类的 get 方法中的任务队列调用的。 问题是我没有得到标题 X-AppEngine-Cron 任何其他逻辑或方法将不胜感激。
提前致谢。
【问题讨论】:
标签: python google-app-engine cron decorator