我正在设置一些基本的数据库哈希,但在设置之后,我收到了400个错误的请求。在
这是我第一次使用哈希,我需要一些建议。我不打算在大麻上撒盐。 有没有什么东西我在HTML方面遗漏了?在
#!/usr/bin/env python
from flask import Flask, render_template, Markup, request, redirect, session, flash, url_for, flash, g
from flask_login import LoginManager,login_manager, current_user, login_required, login_user, logout_user, UserMixin, confirm_login, fresh_login_required
from flask_wtf import FlaskForm
from functools import wraps
from wtforms.validators import DataRequired
from wtforms import StringField
from socket import * #required for sock address issue.
import mraa
from OpenSSL import SSL
import sys
import form
import time
import sqlite3
import hashlib
import logging
app = Flask(__name__) #removing breaks everything.
@app.errorhandler(404) # handles important errors
# ^
def errorpage(e): # ^
return render_template('404.html') # ^ \[T]/
@app.errorhandler(500) # ^ |@|
def errorpage500(e): # ^ / \
flash('error 500') # ^ Praise the ASCII
#
def login_required(f): # makes login required modifier work
@wraps(f) # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
def wrap(*args, **kwargs): # @the only reason people keep using@
if 'logged_in' in session: # @vi is they cant figure out how to@
return f(*args, **kwargs) # @exit it. @
else: # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
flash('please login first.') ##
return redirect (url_for('index')) ################################
return wrap
def getHash(passText):
hashPass=hashlib.sha512()
hashPass.update(passtext)
return(hashPass.hexdigest())
@app.route('/', methods=['GET','POST'])
def index():
db = sqlite3.connect('sql.sql3')
db.row_factory = sqlite3.Row
epass=getHash(request.form['postPass'])
query="select username, password from users where username=? and password=?"
t=(request.form['postUser'], epass)
cursor=db.cursor()
cursor.execute(query,t)
rows = cursor.fetchall()
if len(rows) ==1:
bodyText=request.form['postUser'] + " " + request.form["postPass"]
bodyText=bodyText + "Success!"
session['authenticated']='yes'
else:
bodyText = "incorrect login."
return render_template('/index.html')
if __name__ == '__main__':
app.debug = True
app.run(host='0.0.0.0', port=443, ssl_context='adhoc')
这是回溯的副本,但我不知道这意味着什么。在
^{pr2}$
request.form['postPass']
这不是在GET request only POST上填充的,因此这将是一个问题。在
如果您希望在这个视图中同时使用GET和POST,我建议您这样做:
你的回溯也告诉你这是一个问题:
^{2}$在第69行,您试图记录一个
request
对象,该对象只存在于来自用户的请求的上下文中。从注释这一行开始相关问题 更多 >
编程相关推荐