React में dynamic JSON configuration को सुरक्षित तरीके से संभालना

2025-04-03

CMS blocks और feature flags अक्सर JSON में आते हैं। बिना validation के इनका सीधा उपयोग security और stability दोनों जोखिम बढ़ाता है।

Threat model

__proto__ pollution, raw HTML injection और eval जैसी risky patterns को स्पष्ट रूप से रोकें।

Safe pipeline

fetch -> JSON.parse -> zod/JSON Schema -> defaults सहित typed props mapping।

const ConfigSchema = z.object({ theme: z.enum(["light", "dark"]) });
const config = ConfigSchema.parse(JSON.parse(raw));

Storage

localStorage JSON भी validate करें और schema versioning रखें।

TypeScript

Compile-time types पर्याप्त नहीं; runtime validation remote data के लिए अनिवार्य है।