CSRF, CORS & keamanan
Perlindungan bawaan untuk aplikasi Anda.
csrf()tidak memakai token. Middleware ini memeriksa headerSec-Fetch-SitedanOriginyang dikirim browser modern, dan menolak (403) request yang mengubah data bila datang dari origin lain. Klien non-browser seperti curl atau server-ke-server tidak terpengaruh. Opsi yang tersedia:trustedOriginsdanskip(ctx).cors()menangani request biasa dan preflight. Opsinya:origin(string, array, RegExp, atau function),credentials,methods,allowedHeaders,exposedHeaders, danmaxAge.
#Rate limit
import { rateLimit } from "zentara";
// Di file route: batasi 10 request per 15 menit per IP (mis. untuk login).
export const middleware = [rateLimit({ windowMs: 15 * 60_000, max: 10 })];#Halaman error & mode debug
Saat pengembangan (NODE_ENV=development, otomatis lewat zentara dev), browser menampilkan halaman error lengkap: stack trace, potongan kode, dan detail request (header rahasia disembunyikan). Di produksi, pengunjung hanya melihat halaman status sederhana tanpa detail internal. Atur manual dengan debug di zentara.config.mjs atau env ZENTARA_DEBUG, tapi jangan aktifkan di produksi.
#Keamanan Zentara AI
- AI tidak pernah membaca atau mengubah
.envdan file database, dan tidak bisa menulis ke.git/,node_modules/,dist/, atau keluar folder proyek. - Aksi krusial (hapus file, pasang paket, migrasi database, mengubah
package.json/config) selalu meminta persetujuan, juga di mode otomatis. - Chat di browser hanya aktif saat pengembangan, lewat server di
127.0.0.1dengan token per sesi dan originlocalhost. - OmniRoute yang dijalankan Zentara hanya mendengar di
127.0.0.1.