PenetrationTestingScripts/Weak_Password/Fuxi-Scanner/fuxi/views/authenticate.py

59 lines
1.8 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : jeffzhang
# @Time : 18-5-10
# @File : authenticate.py
# @Desc : ""
from flask import Blueprint, render_template, request, redirect, url_for, Flask, session
from instance import config
from functools import wraps
authenticate = Blueprint('authenticate', __name__)
ProductionConfig = config.ProductionConfig
app = Flask(__name__)
app.config.from_object(ProductionConfig)
@authenticate.route('/login', methods=['GET', 'POST'])
def login_view():
# login view
if request.method == 'POST':
# username = request.form.get('username')
password = request.form.get('password')
if password == app.config.get('WEB_PASSWORD'):
try:
session['login'] = 'A1akPTQJiz9wi9yo4rDz8ubM1b1'
return redirect(url_for('index.view_base'))
except Exception as e:
print(e)
return render_template('login.html', msg="Internal Server Error")
else:
return render_template('login.html', msg="Invalid Password")
return render_template('login.html')
# login-out
@authenticate.route('/login-out')
def login_out():
session['login'] = ''
return redirect(url_for('authenticate.login_view'))
# login-check
def login_check(f):
@wraps(f)
def wrapper(*args, **kwargs):
try:
if "login" in session:
if session['login'] == 'A1akPTQJiz9wi9yo4rDz8ubM1b1':
return f(*args, **kwargs)
else:
return redirect(url_for('authenticate.login_view'))
else:
return redirect(url_for('authenticate.login_view'))
except Exception, e:
print e
return redirect(url_for('authenticate.login_view'))
return wrapper