3

我有一个不想公开的静态文件。有没有办法限制 app.yaml 的访问,使其只能由自己的域加载?

基于 web2py 的解决方案也受到欢迎,因为我在 GAE 之上使用它。

谢谢!

4

2 回答 2

5

您可以使用“登录:必需”来限制对它的访问,以要求使用 Google 帐户登录,或者使用“登录:管理员”将其限制为仅限管理员。如果您只关心滥用问题,您可能希望改为查看DOS API

于 2010-09-13T10:24:59.170 回答
1

我假设您想为此使用 web2py 身份验证。你必须遵循一些简单的规则。1) app/static 中的文件是公共文件。2)您要进行身份验证的文件放在 app/private 中。然后创建您自己的 web2py 操作来服务 private/ 的内容

@auth.requires()
def private():
    import os
    file = os.path.join(request.folder, 'private', request.args(0))
    return response.stream(open(file,'rb'))

如果要使用基于角色的访问控制,则需要将文件名存储在数据库表中,并将 auth.add_permission 存储到记录中的组中。

如果您向 web2py 邮件列表提问,您将获得更快的响应和更有效的响应。

于 2010-09-17T17:31:17.410 回答