跨站点请求伪造(Cross-Site Request Forgery,简称CSRF)是一种网络攻击方式,攻击者通过诱使用户在已登录的网站上执行非预期的操作,从而实现攻击目的。CSRF攻击通常利用用户已登录的身份,在用户不知情的情况下,伪造请求并发送给目标网站。
示例代码(使用Python Flask框架):
from flask import Flask, session, request, redirect, url_for
import secrets
app = Flask(__name__)
app.secret_key = secrets.token_hex(16)
@app.route('/form', methods=['GET', 'POST'])
def form():
if request.method == 'POST':
token = session.pop('_csrf_token', None)
if not token or token != request.form.get('_csrf_token'):
return "CSRF token missing or incorrect", 400
# 处理表单数据
return "Form submitted successfully"
token = secrets.token_hex(16)
session['_csrf_token'] = token
return f'''
<form method="post">
<input type="hidden" name="_csrf_token" value="{token}">
<!-- 其他表单字段 -->
<button type="submit">Submit</button>
</form>
'''
if __name__ == '__main__':
app.run()
参考链接:Flask-WTF CSRF保护
通过采取这些措施,可以有效地防止CSRF攻击,保护用户和网站的安全。
领取专属 10元无门槛券
手把手带您无忧上云