MTADEV Tudástár

Használható MTA:SA fejlesztői dokumentáció

Gyakorlati leírások Lua, resource struktúra, SQL, biztonság, optimalizálás, moderáció és Discord/web összekötés témákban. Nem csak szöveg: ellenőrzőlisták és másolható példák is vannak.

9 cikk 9 kategória gyakorlati példák
Tudástár / SQL / adatbázis

SQL biztonság és adatbázis tippek

SQL-es resource feltöltésnél különösen fontos, hogy a moderátor és a szerver tulajdonosa lássa, pontosan mit kell importálni.

Alapelvek

  • Ne fűzz össze nyers SQL stringet felhasználói adattal.
  • Használj előkészített lekérdezést, ha a használt MySQL wrapper támogatja.
  • Legyen külön `install.sql` fájl.
  • Legyen külön `update_1.1.sql`, ha verziófrissítéshez új oszlop kell.
  • Jelszót csak hash-elve tárolj.

SQL import előtt ellenőrizd

  • Tartalmaz-e `DROP DATABASE` vagy `DROP TABLE` sort?
  • Ír-e át meglévő admin/user táblát?
  • Van-e benne fix admin fiók vagy gyanús jelszó?
  • Van-e index a gyakran keresett oszlopokon?

Példa tábla

CREATE TABLE IF NOT EXISTS player_vehicles (
  id INT AUTO_INCREMENT PRIMARY KEY,
  owner_id INT NOT NULL,
  model INT NOT NULL,
  plate VARCHAR(16) NOT NULL,
  position_json TEXT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  INDEX idx_owner (owner_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Feltöltéshez kötelező leírás

  • Melyik adatbázisba kell importálni?
  • Kell-e meglévő accounts/users tábla?
  • Milyen resource nevet vár a kód?
  • Milyen config fájlban kell megadni az SQL kapcsolatot?