Advertisement
Guest User

Untitled

a guest
Jul 31st, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. from flask import Flask, render_template, url_for, request, session, redirect
  2. from flask_pymongo import PyMongo
  3. import bcrypt
  4.  
  5. app = Flask(__name__)
  6.  
  7. app.config['MONGO_DBNAME'] = 'websitetest'
  8. app.config['MONGO_URI'] = 'mongodb://localhost:27017'
  9.  
  10. mongo = PyMongo(app)
  11.  
  12.  
  13. @app.route('/')
  14. def index():
  15. if 'username' in session:
  16. return('You are logged in as ' + session['username'])
  17.  
  18. return render_template('index.html')
  19.  
  20.  
  21. @app.route('/login', methods=['POST'])
  22. def login():
  23. users = mongo.db.users
  24. login_user = users.find_one({'name': request.form['username']})
  25.  
  26. if login_user:
  27. if bcrypt.hashpw(bytes(request.form['pass'], 'utf-8'), bytes(request.form['pass'], 'utf-8')) == bytes(request.form['pass'], 'utf-8'):
  28. session['username'] = request.form['username']
  29. return redirect(url_for('index'))
  30. return 'Invalid username/password combination.'
  31.  
  32.  
  33. @app.route('/register', methods=['POST', 'GET'])
  34. def register():
  35. if request.method == 'POST':
  36. users = mongo.db.users
  37. existing_user = users.find_one({'name': request.form['username']})
  38.  
  39. if existing_user is None:
  40. hashpass = bcrypt.hashpw(request.form['pass'].encode('utf-8'), bcrypt.gensalt())
  41. users.insert({'name': request.form['username'], 'password': hashpass})
  42. session['username'] = request.form['username']
  43. return redirect(url_for('index'))
  44.  
  45. return('That username already exists!')
  46.  
  47. return render_template('register.html')
  48.  
  49.  
  50. if __name__ == '__main__':
  51. app.secret_key = 'mysecret'
  52. app.run(debug=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement