OWASPトップ10対策
🔥 Vibe プロンプト
「Flask APIを保護:SQLi、XSS、CSRF、認証の脆弱性、安全でないデシリアライゼーションを修正。」
from flask import Flask, request, session
import bleach, html
app = Flask(__name__)
# 1. SQLインジェクション - パラメータ化クエリ
@app.route("/user/<int:user_id>")
def get_user(user_id):
cur.execute("SELECT * FROM users WHERE id = %s", (user_id,))
# 2. XSS - 出力サニタイズ
@app.route("/comment")
def show_comment():
raw = request.args.get("text", "")
safe = bleach.clean(raw, tags=["b", "i"], strip=True)
return html.escape(safe)
# 3. CSRF - トークン検証
@app.route("/transfer", methods=["POST"])
def transfer():
token = request.form.get("csrf_token")
if not token or token != session.get("csrf_token"):
return "CSRF検出!", 403
# 4. 認証 - レート制限
from flask_limiter import Limiter
limiter = Limiter(app)
@app.route("/login", methods=["POST"])
@limiter.limit("5 per minute")
def login(): pass
# 5. 安全なデシリアライゼーション
import json
@app.route("/api/data", methods=["POST"])
def api_data():
data = json.loads(request.data) # 安全!
対策チェックリスト
| リスク | 対策 | |-------|------| | SQLi | パラメータ化クエリ | | XSS | 出力エンコーディング/CSP | | CSRF | CSRFトークン | | 認証脆弱性 | MFA/レート制限 |
Webセキュリティコース完了!🎉
- ✅ HTTPセキュリティヘッダー
- ✅ CSP
- ✅ CORS
- ✅ CSRF
- ✅ OWASP対策完全版
重要なポイント
- コアコンセプトをしっかり理解する
- ハンズオンコード例で実践する
- 実世界の問題に応用する
- 演習で知識を強化する
さらに学ぶ
- 公式ドキュメント
- GitHubのオープンソースプロジェクト
- コミュニティフォーラムとディスカッション
- 関連コースとチュートリアル