要防止點擊劫持攻擊,可以在FastAPI應用程序中添加一些安全策略來保護用戶數據和應用程序的安全。以下是一些建議的做法:
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
# 添加 X-Frame-Options 頭部
@app.middleware("http")
async def add_security_headers(request, call_next):
response = await call_next(request)
response.headers["X-Frame-Options"] = "SAMEORIGIN"
return response
# 添加 Content-Security-Policy 頭部
@app.middleware("http")
async def add_security_headers(request, call_next):
response = await call_next(request)
response.headers["Content-Security-Policy"] = "default-src 'self'"
return response
from fastapi_csrf import CSRF
# 使用 CSRF 保護
csrf = CSRF(app)
@app.post("/login")
async def login():
# 生成 CSRF 令牌
token = csrf.create_csrf_token()
return {"token": token}
通過以上安全策略的組合使用,可以有效地防止點擊劫持攻擊,并提升FastAPI應用程序的安全性。