Sobes.tech
Junior — Middle
90

Қолданбаны SQL-инъекцияларынан қорғаудың қандай әдістері бар?

AI-дан жауап

sobes.tech AI

Қолданбаны SQL-инъекциялардан қорғау үшін келесі әдістерді қолдануға болады:

  • Параметрленген сұраулар (prepared statements) — мәндерді тікелей SQL-сұрауға енгізу орнына, дерекқор оларды бөлек өңдейтін параметрлер пайдаланылады.
  • ORM қолдану — көптеген ORM автоматты түрде деректерді өңдеп, қауіпсіз сұраулар құрастырады.
  • Кіріс деректерін тексеру және сүзгіден өткізу — пайдаланушыдан келетін деректердің форматы мен түрін тексеру және шектеу.
  • Дерекқорға қол жеткізу құқықтарын шектеу — қолданбаның тек қажетті құқықтарымен жұмыс істеуі, мүмкін зиянды шектеу үшін.

Python-да sqlite3 кітапханасын пайдаланып параметрленген сұраудың мысалы:

import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
user_id = 1
cursor.execute('SELECT * FROM users WHERE id = ?', (user_id,))
rows = cursor.fetchall()
conn.close()

Мұнда сұраудағы ? белгісі — қауіпсіз түрде сұрауға енгізілетін параметр, ол инъекцияларды болдырмайды.