Ejemplo n.º 1
0
def forgot_password():
    suc_msg = ""
    err_msg = ""
    if request.method == 'POST':
        email = request.form.get("email")
        if check_email_used(email=email):
            token = randomToken.dumps(email, salt="reset_password")
            msg = Message('Đặt lại mật khẩu',
                          sender='*****@*****.**',
                          recipients=[email])
            link = url_for('reset_password',
                           token=token,
                           email=email,
                           _external=True)
            msg.body = 'Bạn đang tiến hành đặt lại mật khẩu, liên kết sẽ hết hạn sau 15 phút. ' \
                       'Nhấn vào liên kết sau để đặt lại mật khẩu: {}'.format(link)
            mail.send(msg)
            suc_msg = "Thư yêu cầu đặt lại mật khẩu đã được gửi vào mail {}".format(
                email)
        else:
            err_msg = "Email này không tốn tại trên hệ thống"

    return render_template("forgot-password.html",
                           err_msg=err_msg,
                           suc_msg=suc_msg)
Ejemplo n.º 2
0
def reset_password(token, email):
    err_msg = ""
    try:
        e = randomToken.loads(token, salt='reset_password', max_age=3600)
    except SignatureExpired:
        return render_template('verify-expired.html')
    if request.method == 'POST':
        password = request.form.get("password")
        confirm = request.form.get("confirm")
        if (len(password) > 7) and (len(password) < 17):
            if password.strip() == confirm.strip():
                user = check_email_used(email=email)
                if user:
                    user.password = str(
                        hashlib.md5(
                            password.strip().encode("utf-8")).hexdigest())
                    db.session.commit()
                    return render_template('reset-success.html')
                else:
                    err_msg = "Email không tồn tại"
            else:
                err_msg = "Mật khẩu không khớp!"
        else:
            err_msg = "Mật khẩu của bạn phải từ 8-16 ký tự"

    return render_template('reset-pwd.html', err_msg=err_msg)
Ejemplo n.º 3
0
def login_usr():
    suc_msg = ""
    err_msg = ""
    if request.method == "POST":
        confirm = request.form.get("confirm")
        email = request.form.get("email")
        if confirm and email:
            err_msg = ""
            if request.method == "POST":
                name = request.form.get("name")
                username = request.form.get("username")
                password = request.form.get("password", "")
                if check_username_used(username=username):
                    err_msg = "Tài khoản này đã có người sử dụng"
                else:
                    if check_email_used(email=email):
                        err_msg = "Email này đã được sử dụng"
                    else:
                        if (len(password) > 7) and (len(password) < 17):
                            if password.strip() != confirm.strip():
                                err_msg = "Mật khẩu không khớp"
                            else:
                                if add_user(name=name,
                                            username=username,
                                            password=password,
                                            email=email):
                                    token = randomToken.dumps(
                                        email, salt="email_confirm")
                                    msg = Message(
                                        'Thư xác nhận mail',
                                        sender='*****@*****.**',
                                        recipients=[email])
                                    link = url_for('confirm_email',
                                                   token=token,
                                                   username=username,
                                                   _external=True)
                                    msg.body = 'Để kích hoạt tài khoản vui lòng nhấn vào liên kết sau: {}'.format(
                                        link)
                                    mail.send(msg)
                                    suc_msg = "Thư kích hoạt đã được gửi vào mail {}".format(
                                        email)
                                else:
                                    err_msg = "Hệ thống bị lỗi vui lòng đăng ký sau"
                        else:
                            err_msg = "Mật khẩu của bạn phải từ 8-16 ký tự"
        else:
            username = request.form.get("username")
            password = request.form.get("password", "")
            user = check_password(username=username, password=password)
            if user:
                if user.active == 1:
                    login_user(user=user)
                    return redirect('/')
                else:
                    err_msg = "Tài khoản này chưa được xác thực"
            else:
                err_msg = "Bạn đã nhập sai mật khẩu"

    return render_template('login.html', err_msg=err_msg, suc_msg=suc_msg)