Hướng dẫn how does python store login details in database? - python lưu trữ thông tin đăng nhập trong cơ sở dữ liệu như thế nào?

Gần đây, tôi bắt đầu làm việc trong một dự án mà tôi phải tìm ra cách tạo hệ thống đăng nhập người dùng để bảo vệ trang web khỏi truy cập trái phép. Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách tạo cùng một hệ thống bằng Python trên Ubuntu Server 18.04.Python on Ubuntu Server 18.04.

Thiết lập phần mềm điều kiện tiên quyết

Để bắt đầu, chúng tôi đề nghị, bất kể mục tiêu cuối cùng hay mục tiêu cuối cùng, để bắt đầu bằng cách chạy lệnh sau:

sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get install cmake build-essential -y

Sau đó, bạn sẽ cần cài đặt phần mềm phát triển Python và máy khách phát triển MySQL bằng cách chạy như sau:

sudo apt-get install python python-pip python-dev libmysqlclient-dev python-mysql.connector python3-mysql.connector -y

Bây giờ chúng tôi cài đặt Mariadb làm cơ sở dữ liệu của chúng tôi, nơi chúng tôi sẽ lưu trữ tên người dùng và mật khẩu băm:

sudo apt-get install mariadb-server -y

Sau khi được cài đặt, hãy chạy lệnh sau để thiết lập người dùng, cơ sở dữ liệu và bảng để kết nối mã Python của chúng tôi với:

Bây giờ chạy:

CREATE USER 'chooseAUserName'@'localhost' IDENTIFIED BY 'chooseAPassword';

Sau đó chạy:

GRANT ALL PRIVILEGES ON *.* TO 'chooseAUserName'@'localhost' WITH GRANT OPTION;
exit

Bây giờ chúng tôi sẽ cài đặt một số thư viện Python mà chúng tôi sẽ cần.

pip install flask
pip install flask-sqlalchemy
pip install flask-login
pip install passlib

Thiết lập người dùng

Bây giờ, chúng tôi sẽ thiết lập cơ sở dữ liệu người dùng và thêm một vài người dùng. Đầu tiên, kết nối với Mariadb bằng cách chạy:

Tiếp theo, hãy tạo một cơ sở dữ liệu mới có tên

sudo apt-get install cmake build-essential -y
2:

Sau đó, nhập cơ sở dữ liệu để chúng tôi có thể thêm một bảng sẽ giữ người dùng:

Và để tạo bảng:

CREATE TABLE Login [uid INT[11] AUTO_INCREMENT PRIMARY KEY, username VARCHAR[100], password VARCHAR[200], email VARCHAR[200]];
exit

Bây giờ, để tạo người dùng, chúng tôi thực sự sẽ tạo một chương trình Python nhỏ để thêm người dùng vào cơ sở dữ liệu.

Bạn sẽ cần mở một phiên bản TMUX để chúng tôi có thể chỉnh sửa tệp và vẫn có chương trình Python chạy ở chế độ nền. Để làm điều đó, hãy làm theo loạt lệnh này:

Với tệp này mở, sao chép và dán mã sau:

from flask import Flask, render_template, request
from passlib.hash import sha256_crypt
import mysql.connector as mariadb
app = Flask[__name__]
maraidb_connection = mariadb.connect[user='chooseAUserName', password='chooseAPassword', database='Login']
@app.route['/']
def index[]:
  username = "newUserName"
  password = sha256_crypt.encrypt["newPassword"]
  email = ""

  cur = mariadb_connection.cursor[]
  cur.execute['INSERT INTO Login [username, password, email] VALUES [%s, %s, %s]', [username, password, email]]
  mariadb_connection.commit[]
  cur.close[]

  return "New user added"
if __name__ == '__main__':
  app.run[debug=True, host='0.0.0.0', port='5000']

Bây giờ, đóng và lưu tệp bằng cách nhấn

sudo apt-get install cmake build-essential -y
3,
sudo apt-get install cmake build-essential -y
4,
sudo apt-get install cmake build-essential -y
5,
sudo apt-get install cmake build-essential -y
5.

Bây giờ, khi vẫn còn trong TMUX chạy:

Sau đó thoát TMUX trong thời gian hiện tại bằng cách nhấn

sudo apt-get install cmake build-essential -y
7, sau đó
sudo apt-get install cmake build-essential -y
8.

Bây giờ chạy:

Sau đó chạy:

Bây giờ chúng tôi sẽ cài đặt một số thư viện Python mà chúng tôi sẽ cần.

Thiết lập người dùng

Bây giờ, chúng tôi sẽ thiết lập cơ sở dữ liệu người dùng và thêm một vài người dùng. Đầu tiên, kết nối với Mariadb bằng cách chạy:

Tiếp theo, hãy tạo một cơ sở dữ liệu mới có tên
sudo apt-get install cmake build-essential -y
2:

Sau đó, nhập cơ sở dữ liệu để chúng tôi có thể thêm một bảng sẽ giữ người dùng:

Và để tạo bảng:

Bây giờ, để tạo người dùng, chúng tôi thực sự sẽ tạo một chương trình Python nhỏ để thêm người dùng vào cơ sở dữ liệu.

from flask import Flask
from flask import Flask, flash, redirect, render_template, request, session, abort
from passlib.hash import sha256_crypt
import mysql.connector as mariadb
import os
import operator
app = Flask[__name__]
mariadb_connect = mariadb.connect[user='chooseAUserName', password='chooseAPassword', databse='Login']
@app.route['/']
def home[]:
  if not session.get['logged_in']:
    return render_template['login.html']
  else:
    return render_template['index.html']

@app.route['/login', methods=['POST']]
def do_admin_login[]:
  login = request.form

  userName = login['username']
  password = login['password']

  cur = mariadb_connect.cursor[buffered=True]
  data = cur.execute['SELECT * FROM Login WHERE username=%s', [userName]]
  data = cur.fetchone[][2]

  if sha256_crypt.verify[password, data]:
    account = True

  if account:
    session['logged_in'] = True
  else:
    flash['wrong password!']
  return home[]

@app.route['logout']
def logout[]:
  session['logged_in'] = False
  return home[]

if __name__ == "__main__":
  app.secret_key = os.urandom[12]
  app.run[debug=False,host='0.0.0.0', port=5000]

Bạn sẽ cần mở một phiên bản TMUX để chúng tôi có thể chỉnh sửa tệp và vẫn có chương trình Python chạy ở chế độ nền. Để làm điều đó, hãy làm theo loạt lệnh này:

Với tệp này mở, sao chép và dán mã sau:

Bây giờ, đóng và lưu tệp bằng cách nhấn

sudo apt-get install cmake build-essential -y
3,
sudo apt-get install cmake build-essential -y
4,
sudo apt-get install cmake build-essential -y
5,
sudo apt-get install cmake build-essential -y
5.

Bây giờ, khi vẫn còn trong TMUX chạy:

Sau đó thoát TMUX trong thời gian hiện tại bằng cách nhấn

sudo apt-get install cmake build-essential -y
7, sau đó
sudo apt-get install cmake build-essential -y
8.

và nhập IP kết quả vào một trình duyệt máy tính khác bằng cách nhập của bạn: 5000/ bây giờ bạn đã thêm người dùng đầu tiên của mình. Để thêm một lần chạy khác:

Then:

và thay đổi tên người dùng, mật khẩu và các trường email. Bây giờ hãy lưu và thoát như trên. Sau đó làm mới trang web trên máy tính khác và bạn đã thêm thành công người dùng khác. Bạn có thể thêm nhiều người dùng như bạn muốn bằng cách lặp lại quy trình này.

sudo apt-get install cmake build-essential -y
0

Khi bạn đã thêm tất cả người dùng mà bạn muốn, hãy chạy:

Sau đó, nhấn

sudo apt-get install cmake build-essential -y
9, tiếp theo là
sudo apt-get install python python-pip python-dev libmysqlclient-dev python-mysql.connector python3-mysql.connector -y
0.

Lập trình Python

sudo apt-get install cmake build-essential -y
1

Bây giờ chúng tôi đã thiết lập một vài người dùng, hãy để viết mã Python cho hệ thống đăng nhập và đi qua những gì nó làm.

Đầu tiên, hãy tạo một tệp mới bằng cách chạy:

Với tệp mở, bạn có thể sao chép và dán hoặc nhập mã sau:

Trong tệp này, trước tiên chúng tôi sẽ nhập các thư viện Python mà chúng tôi sẽ cần. Sau đó, chúng tôi sẽ kết nối với chính cơ sở dữ liệu. Hàm đầu tiên xác định nếu người dùng được đăng nhập và nếu không, hãy hiển thị cho họ trang đăng nhập.

Sau đó, trong hàm

sudo apt-get install python python-pip python-dev libmysqlclient-dev python-mysql.connector python3-mysql.connector -y
1, chúng tôi nhận được đầu vào của người dùng từ biểu mẫu web, băm mật khẩu của họ và xác minh nó dựa trên mật khẩu băm trong cơ sở dữ liệu của chúng tôi. Nếu điều này trả về đúng, người dùng hiện đã đăng nhập và chuyển hướng đến
sudo apt-get install python python-pip python-dev libmysqlclient-dev python-mysql.connector python3-mysql.connector -y
2 [trang chủ của chúng tôi].

Làm thế nào để Python lưu trữ tên người dùng và mật khẩu?

Mật khẩu trong các tệp văn bản thuần túy Bạn có thể lưu trữ tên người dùng/mật khẩu trên hai dòng đầu tiên của tệp văn bản đơn giản, sau đó sử dụng Python để đọc nó khi bạn cần. Nếu tệp văn bản nằm trong thư mục kho lưu trữ, bạn nên sửa đổi. Gitignore để đảm bảo nó không được theo dõi bởi điều khiển nguồn.store username/password on the first two lines of a plain text file, then use python to read it when you need it. If the text file is in the repository directory you should modify . gitignore to ensure it's not tracked by source source control.

Làm thế nào để Python lưu trữ chi tiết người dùng?

Làm thế nào để lưu dữ liệu trong Python ?..
Sử dụng dưa chua để lưu trữ các đối tượng Python. Nếu chúng ta muốn giữ mọi thứ đơn giản, chúng ta có thể sử dụng mô -đun Pickle, đây là một phần của thư viện tiêu chuẩn để lưu dữ liệu trong Python. ....
Sử dụng SQLite3 để lưu dữ liệu trong Python liên tục.....
Sử dụng sqlitedict như một bộ nhớ cache liên tục ..

Làm thế nào để Python lưu trữ dữ liệu trong cơ sở dữ liệu?

Cách chèn các tệp vào cơ sở dữ liệu trong Python..
Thiết lập kết nối với cơ sở dữ liệu bạn chọn ..
Tạo một đối tượng con trỏ bằng cách sử dụng kết nối ..
Viết truy vấn chèn SQL.....
Tạo một chức năng để chuyển đổi dữ liệu kỹ thuật số thành nhị phân ..
Thực hiện truy vấn chèn và thay đổi cam kết ..
Bắt các ngoại lệ SQL nếu có ..

Làm thế nào để Python xác nhận tên người dùng và mật khẩu?

Làm thế nào để Python xác nhận tên người dùng và mật khẩu ?..
Nhập mô -đun RE Python ..
Chạy một vòng vô hạn ..
Yêu cầu người dùng nhập một mật khẩu ..
Kiểm tra xem độ dài của mật khẩu có từ 6 đến 12 hay không ..
Kiểm tra xem mật khẩu có chứa bất kỳ ký tự chữ hoa nào hay không, nếu không in một tin nhắn và tiếp tục bắt đầu vòng lặp ..

Bài Viết Liên Quan

Chủ Đề