コードレビュー中級15

レビュー: SQLインジェクション脆弱性

pythonsecuritysql-injectiondatabase

コードレビュー課題

以下のPythonコードをレビューしてください。

背景

このコードはユーザー管理システムの一部で、ユーザー情報の検索と認証を行います。SQLiteデータベースを使用しています。

レビュー観点

  • セキュリティ上の問題
  • SQLインジェクションの可能性
  • 入力値の検証
  • パスワード処理の安全性

あなたの回答

user_service.pypython
import sqlite3
def find_user(username):
"""Find user by username"""
conn = sqlite3.connect('users.db')
query = f"SELECT * FROM users WHERE username = '{username}'"
cursor = conn.cursor()
cursor.execute(query)
return cursor.fetchone()
def authenticate(username, password):
"""Authenticate user"""
conn = sqlite3.connect('users.db')
query = f"SELECT * FROM users WHERE username = '{username}' AND password = '{password}'"
cursor = conn.cursor()
cursor.execute(query)
result = cursor.fetchone()
return result is not None
行番号をクリックしてコメントを追加(Shift+クリックで範囲選択)

最低100文字必要です

0

コメントを追加し、サマリーを100文字以上入力してください

模範解答

回答を送信するか、「表示する」をクリックすると模範解答が表示されます。