Найти - Пользователи
Полная версия: "Скрипт" элементарного сайта, по паролю разрешаюго зайти на папку со статическим html?
Начало » Web » "Скрипт" элементарного сайта, по паролю разрешаюго зайти на папку со статическим html?
1
jam
Добрый день
Всё началось с умеренного желания самостоятельно научиться программировать, а сейчас хочется побыстрее закончить учебный проектик и посмотреть, заработаю ли я миллионы сможет ли он конкурировать.
Имеется сайтик с со статическими html файлами ( kettest.lt ), предназначенный для проверки знаний будущих водителей (такая тематика выбрана потому, что сам могу делать картинки). Подсчёт результатов будет на JS, localStorage (как бы получается, но ещё не определился как расположить UI и какой кнопкой считать:)).
Хочется сделать вход в раздел сайта по паролю (без регистрации; пароль высылается по почте), который действует определённое время.
Может быть кто-нибудь видел что-то готовое?
Такая просьба со стороны “желающего научиться” может показаться странноватой, но дела вот такие: начал читать про Python (довольно-таки давно), потом понадобилось почитать про html с CSS'ами, потом понял, что без JavaScript'а будет трудно - другая книжка… Сейчас честно пытался осилить туториал по .cgi , но там только про мак и виндовс (пользую Убунту), да ещё намёки про ожидающую настройку Apache… я сдался.;)
Наверное, на пхп было бы легче что-то найти, но я всё-таки не теряю надежды подучиться и в дальнейшем делать всё сам, поэтому спрашиваю здесь.
lorien
Авторизацию можно сделать средствами веб-сервера: https://www.google.ru/search?q=apache+пароль+на+директорию
Вам придётся лишь изменять файл с паролями: дописывать туда новые login/password строчки.
Singularity
http://seriyps.ru/blog/2010/05/30/basic-http-avtorizaciya-dlya-nginx/

А кто-нибудь знает почему это не работает ?
import os
from functools import wraps
from flask import Flask, request, Response
app = Flask(__name__)
def check_auth(username, password):
    """This function is called to check if a username /
    password combination is valid.
    """
    return username == 'admin' and password == 'secret'
def authenticate():
    """Sends a 401 response that enables basic auth"""
    return Response(
        'Could not verify your access level for that URL.\n'
        'You have to login with proper credentials', 401,
        {'WWW-Authenticate': 'Basic realm="Login Required"'})
def requires_auth(f):
    @wraps(f)
    def decorated(*args, **kwargs):
        auth = request.authorization
        if not auth or not check_auth(auth.username, auth.password):
            return authenticate()
        return f(*args, **kwargs)
    return decorated
@app.route('/<path:path>')
@requires_auth
def static_proxy(path):
    name = os.path.join('/home/dir/files', path)
    return app.send_static_file(name)
if __name__ == "__main__":
    app.run()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB