mysql 凭证_如何用mysql验证flask/python中的凭证?

Flask/python登录验证对mysql不起作用,我在搜索google和文档,我在同一件事上看到了一些关于堆栈溢出的问题,但还没有得到回答。在from flask import Flask, render_template, flash, request, url_for, redirect, session

from content_management import Content

#form validations

from wtforms import Form, BooleanField, TextField, PasswordField, validators

#to encrypt the password

from passlib.hash import sha256_crypt

#for SQL injection

from MySQLdb import escape_string as thwart

import gc

from functools import wraps

from mysql_connect import connection

app = Flask(__name__)

@app.route('/login/', methods=['GET','POST'])

def login_page():

error = ''

try:

c, conn = connection()

if request.method == "POST":

d = c.execute("SELECT * FROM clients WHERE email = (%s)", (thwart(request.form['email']),))

d = c.fetchone()[2]

if request.form['password'] == d:

email = request.form['email']

c.execute("SELECT * FROM clients WHERE email = (%s)", (thwart(email),))

clients_table = c.fetchall()

clientcid = clients_table[0]

flash(clientcid)

phone = clients_table[1]

rating = clients_table[4]

conn.commit()

c.execute("SELECT * FROM cpersonals WHERE cid = (%s)", (clientcid,))

cpersonals_table = c.fetchall()

first_name = cpersonals_table[1]

last_name = cpersonals_table[2]

address = cpersonals_table[3]

czip = cpersonals_table[4]

reg_date = cpersonals_table[5]

conn.commit()

c.close()

conn.close()

session['logged_in'] = 'client'

session['clientcid'] = clientcid

session['email'] = email

session['phone'] = phone

session['rating'] = rating

session['first_name'] = first_name

session['last_name'] = last_name

session['address'] = address

session['czip'] = czip

session['reg_date'] = reg_date

flash("You are now logged in.")

return redirect(url_for("dashborad"))

else:

error = "Invalid credentials, try again."

return render_template("login.html")

在没有框架的情况下,有没有一种简单的方法可以在MySQL中验证凭证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值