登录加一个验证码
登录加一个验证码
登录加一个验证码

用户627552352
2025年03月05日
|
浏览 156
要在登录页面添加验证码,可以使用多种方法来实现。以下是一个使用Python和Flask框架以及reCAPTCHA作为验证码服务的示例:
1. 安装必要的库
首先,确保你已经安装了Flask和reCAPTCHA的Python包:
复制代码
pip install Flask recaptcha-client
2. 配置reCAPTCHA
你需要在Google reCAPTCHA管理页面创建一个站点密钥对(site key和secret key)。然后,将这些密钥添加到你的Flask应用中。
3. 创建Flask应用
以下是一个简单的Flask应用示例,展示如何在登录页面添加reCAPTCHA验证码:
复制代码
from flask import Flask, request, render_template, redirect, url_for
from recaptcha_client import ReCaptchaResponse
app = Flask(__name__)
# 配置reCAPTCHA密钥
app.config['RECAPTCHA_SITE_KEY'] = '你的site key'
app.config['RECAPTCHA_SECRET_KEY'] = '你的secret key'
@app.route('/')
def index():
return render_template('index.html')
@app.route('/login', methods=['POST'])
def login():
# 获取用户输入和reCAPTCHA响应
user_input = request.form['username']
recaptcha_response = request.form['g-recaptcha-response']
# 验证reCAPTCHA响应
if not validate_recaptcha(recaptcha_response):
return redirect(url_for('index'))
# 继续处理登录逻辑(例如数据库验证)
# ...
return "Login successful!"
def validate_recaptcha(recaptcha_response):
if not recaptcha_response:
return False
response = ReCaptchaResponse(is_valid=False)
params = {
'secret': app.config['RECAPTCHA_SECRET_KEY'],
'response': recaptcha_response,
'remoteip': request.environ.get('REMOTE_ADDR')
}
# 使用reCAPTCHA API验证响应
response = ReCaptchaResponse(**requests.post("https://www.google.com/recaptcha/api/siteverify", data=params).json())
return response.is_valid
if __name__ == '__main__':
app.run(debug=True)
4. HTML模板
创建一个简单的HTML模板文件 templates/index.html,用于显示登录表单和reCAPTCHA:
复制代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login with reCAPTCHA</title>
<script src="https://www.google.com/recaptcha/api.js"></script>
</head>
<body>
<form action="/login" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br><br>
<div class="g-recaptcha" data-sitekey="{{ app.config['RECAPTCHA_SITE_KEY'] }}"></div>
<br/>
<button type="submit">Login</button>
</form>
</body>
</html>
5. 运行应用
确保你的Flask应用文件名为 app.py,然后运行:
复制代码
python app.py
现在,当你访问根URL时,会看到一个包含reCAPTCHA的登录表单。用户输入信息并完成验证码验证后,可以继续处理登录逻辑。
如有更多问题,请通过【🔍追问按钮】提交补充信息。
我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;
