SQL inyeksiya: necə işləyir və necə tam qarşısını almaq olar

·8 dəq oxu·SQLi · verilənlər bazası · OWASP

SQL inyeksiya onilliklərdir mövcuddur, çünki səbəb texniki deyil, memarlıqla bağlıdır: istifadəçi məlumatı sorğu mətninə birləşdirildikdə məlumat əmrə çevrilir.

Yeganə düzgün həll: parametrli sorğular

// Yanlış — string birləşdirmə
const q = "SELECT * FROM users WHERE email = '" + email + "'";

// Doğru — parametr
const { rows } = await db.query(
  "SELECT * FROM users WHERE email = $1",
  [email],
);

Dərinlikdə müdafiə

  • Tətbiqin baza istifadəçisinə yalnız lazım olan cədvəllərə giriş verin
  • DDL (DROP, ALTER) səlahiyyətlərini tətbiq hesabından silin
  • Sorğu xətalarını istifadəçiyə göstərməyin — onlar sxem haqqında məlumat sızdırır
  • ORM istifadə edirsinizsə, xam SQL yazdığınız yerləri ayrıca nəzərdən keçirin

Domeninizi indi yoxlayın

Sipər bu məqalədə göstərilən konfiqurasiyaları avtomatik yoxlayır və 1–100 arası təhlükəsizlik skoru verir.

Pulsuz skan et

Oxşar məqalələr

Ümumi 24 məqalə. Hamısına bax