Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

Security Features

NexaModel secara otomatis memvalidasi semua input untuk mencegah SQL injection:

NexaModel · Storage() · NexaDb

$this->Storage('news')->where()->first();

Input Validation

NexaModel secara otomatis memvalidasi semua input untuk mencegah SQL injection:

// Aman - input akan divalidasi $users = $this->Storage('users') ->where('name', 'LIKE', '%' . $userInput . '%') ->get();

Column Validation

Method ini ada di NexaModel, bukan di NexaController. Pakai instance model (subclass Anda, (new NexaModel()), atau rantai $this->Storage('tabel') yang mengembalikan NexaModel).

$validationResult = (new \App\System\NexaModel())->testColumnValidation([ 'name', 'email', 'UPPER(name) AS name_upper', 'COUNT(*) AS total' ]); (new \App\System\NexaModel())->testColumnValidationAndDisplay([ 'name', 'invalid_function()', 'CASE WHEN status = "active" THEN 1 ELSE 0 END AS is_active' ]);

Allowed Functions

NexaModel hanya mengizinkan fungsi SQL yang aman:

// Fungsi yang diizinkan $allowedFunctions = [ 'UPPER', 'LOWER', 'DATE', 'YEAR', 'MONTH', 'DAY', 'COUNT', 'SUM', 'AVG', 'MAX', 'MIN', 'RAND', 'CONCAT', 'SUBSTRING', 'TRIM', 'LENGTH', 'DATE_FORMAT', 'CASE', 'WHEN', 'THEN', 'ELSE', 'END', // ... dan banyak lagi ];

Secret Key untuk Encoding

$decoder = (new \App\System\NexaModel())->secretKey('your_secret_key_2025'); // Digunakan untuk encoding/decoding data sensitif (NexaDecode)

Lanjut

Topik sebelumnya: Cache (kompatibilitas API). Topik berikutnya: Performance Monitoring. Lihat juga Models, Events, Helper & template, daftar dokumentasi.