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()
Мұнда сұраудағы ? белгісі — қауіпсіз түрде сұрауға енгізілетін параметр, ол инъекцияларды болдырмайды.