Ограничение доступа к статическому файлу с помощью GAE - PullRequest
3 голосов
/ 12 сентября 2010

У меня есть статический файл, который я не хочу публиковать. Есть ли способ ограничить доступ с помощью app.yaml, чтобы он мог загружаться только собственным доменом?

Решения на основе web2py также приветствуются, поскольку я использую их поверх GAE.

Спасибо!

Ответы [ 2 ]

5 голосов
/ 13 сентября 2010

Вы можете ограничить доступ к нему с помощью 'login: required', чтобы требовать входа в систему с учетной записью Google, или 'login: admin', чтобы ограничить его только администраторами.Если вас беспокоят только злоупотребления, вы, вероятно, захотите взглянуть на DOS API .

1 голос
/ 17 сентября 2010

Полагаю, вы хотите использовать для этого аутентификацию 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.

...