Cara menggunakan MySQL untuk mencipta jadual kod pengesahan untuk melaksanakan fungsi kod pengesahan
Dengan pembangunan berterusan Internet, fungsi kod pengesahan telah menjadi langkah keselamatan yang diperlukan untuk tapak web dan APP. Kod pengesahan mengesahkan identiti sebenar pengguna dengan memerlukan pengguna memasukkan rentetan nombor dan huruf rawak. Dalam artikel ini, saya akan memperkenalkan kepada anda cara menggunakan MySQL untuk membuat jadual kod pengesahan dan melaksanakan fungsi kod pengesahan.
CIPTA JADUAL kod_pengesahan (
id INT(11) NOT NULL AUTO_INCREMENT, unique_code VARCHAR(10) NOT NULL, email VARCHAR(50) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, is_used TINYINT(1) DEFAULT 0, PRIMARY KEY (id)
);
Jadual ini mengandungi beberapa medan:
import random import string import smtplib from email.mime.text import MIMEText def generate_verification_code(): characters = string.ascii_letters + string.digits verification_code = ''.join(random.choice(characters) for _ in range(6)) return verification_code def send_verification_code(email, verification_code): sender = 'your_email@gmail.com' receiver = email subject = 'Verification Code' message = f'Your verification code is: {verification_code}' msg = MIMEText(message) msg['Subject'] = subject msg['From'] = sender msg['To'] = receiver try: smtp = smtplib.SMTP('smtp.gmail.com', 587) smtp.starttls() smtp.login(sender, 'your_password') smtp.sendmail(sender, receiver, msg.as_string()) smtp.quit() print('Verification code sent successfully!') except Exception as e: print(f'Error sending verification code: {e}') # 生成验证码并发送 verification_code = generate_verification_code() send_verification_code('user@example.com', verification_code)
Dalam kod sampel ini, kami mula-mula mentakrifkan fungsi generate_verification_code
untuk menjana kod pengesahan yang mengandungi huruf dan nombor rawak. Kemudian gunakan fungsi send_verification_code
untuk menghantar kod pengesahan yang dijana kepada pengguna melalui e-mel SMTP. pengirim
dan receiver
perlu digantikan dengan alamat e-mel penghantar dan penerima sebenar, dan kata laluan pengirim
perlu diisi dengan kata laluan E-mel SMTP sebenar. generate_verification_code
函数来生成包含随机字母和数字的验证码。然后使用send_verification_code
函数将生成的验证码通过SMTP邮件发送给用户。其中的sender
和receiver
需要更换为真实的发件人和收件人邮箱地址,而sender
的密码需要填写真实的SMTP邮箱密码。
import mysql.connector def verify_verification_code(email, verification_code): try: conn = mysql.connector.connect( host='localhost', user='your_username', password='your_password', database='your_database' ) cursor = conn.cursor() query = "SELECT * FROM verification_code WHERE email = %s AND unique_code = %s AND is_used = 0 ORDER BY created_at DESC LIMIT 1" cursor.execute(query, (email, verification_code)) result = cursor.fetchone() if result: # 验证码有效,更新验证码状态 update_query = "UPDATE verification_code SET is_used = 1 WHERE id = %s" cursor.execute(update_query, (result[0],)) conn.commit() print('Verification code verified successfully!') else: print('Invalid verification code!') cursor.close() conn.close() except Exception as e: print(f'Error verifying verification code: {e}') # 验证验证码 verify_verification_code('user@example.com', 'ABC123')
在这段示例代码中,我们首先使用mysql.connector
Selepas pengguna memasukkan kod pengesahan, kami perlu mengesahkan kesahihan kod pengesahan dalam pangkalan data MySQL. Berikut ialah contoh penggunaan kod Python untuk mengesahkan kod pengesahan:
🎜rrreee🎜Dalam kod sampel ini, kami mula-mula menggunakanmysql.connector
untuk menyambung ke pangkalan data MySQL dan menanyakan alamat e-mel yang ditentukan dan Kod pengesahan wujud dan belum digunakan. Jika hasil pertanyaan wujud, tetapkan status kod pengesahan kepada Digunakan dan lakukan perubahan. Jika tidak, kod pengesahan yang tidak sah akan dikeluarkan. 🎜🎜Melalui langkah di atas, kami telah menyedari proses menggunakan MySQL untuk mencipta jadual kod pengesahan dan melaksanakan fungsi kod pengesahan. Dengan menjana dan menghantar e-mel kod pengesahan dan berinteraksi dengan pangkalan data semasa pengesahan, ketulenan identiti pengguna dan keselamatan sistem boleh dijamin. Saya harap artikel ini dapat membantu semua orang memahami dan melaksanakan fungsi kod pengesahan. 🎜Atas ialah kandungan terperinci Cara menggunakan MySQL untuk membuat jadual kod pengesahan untuk melaksanakan fungsi kod pengesahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!