INI podešavanja (.ini)
De StandardnoWindows konfiguracija inicijalizacije (INI) klasični je format konfiguracione datoteke čitljiv ljudima koji je popularizovao Microsoft Windows, organizujući postavke aplikacije u imenovane [odeljke] koji sadrže parove ključ=vrednost.
Конвертујте INI у JSON
Бесплатан INI у JSON конвертор у прегледачу. Конвертујте фајлове тренутно без слања на сервер уз 100% приватност.
Pregledaj i metapodaci
Operativni sistemi i analizatori datoteka identifikuju INI datoteke proverom početnog binarnog niza bajtova:
Potpis zaglavlja na nivou bajtova (Magic Bytes)
Operativni sistemi i analizatori datoteka identifikuju INI datoteke proverom početnog binarnog niza bajtova:
HEX POTPIS (OFFSET 0):
5B ... 5DASCII REPREZENTACIJA: [...]
Standardizacija: De facto industry configuration standard
Tehničke specifikacije
| Arhitektura kontejnera | Plaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #) |
| Kompresija | Uncompressed text file |
| Bajtni redosled (Endianness) | UTF-8 or ANSI text stream |
| Prostori boja | N/A (Configuration File) |
| Kanali i struktura | Key-value configuration properties categorized by section namespaces |
| Maksimalne dimenzije | Historical 64 KB limit in 16-bit Windows; unlimited in modern implementations |
| Transparentnost | None |
| Strimovanje i progresivno učitavanje | Sequential line-by-line streaming parser |
Tehnička matrica poređenja: INI vs Konkurenti
| Tehnički atribut | INI (Trenutno) | JSON | YAML | TOML |
|---|---|---|---|---|
| Složenost sintakse | Najjednostavnija moguća (odeljak + ključ=vrednost) | Stroge zagrade i navodnici | Prazan prostor osetljiv na uvlake | Moderne tabele sa tipovima podataka |
| Podrška za komentare | Izvorna (; i # komentari) | Nema podrške za komentare u specifikaciji | Izvorni (# komentari) | Izvorni (# komentari) |
| Ugnježđene strukture | Samo odeljci sa 1 nivoom | Beskonačni ugnježđeni objekti/nizovi | Beskonačna ugnježđena stabla | Nizovi strukturiranih tabela |
| Tipizacija podataka | Implasciht niske (aplikacija parsira tipove) | Eksplicitni brojevi, Bulove vrednosti, nizovi | Eksplicitni tipovi i sidra | Eksplicitni datumi, brojevi, nizovi |
Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak
Aplikacija ignoriše postavke ili ne uspeva da se pokrene.
Osnovni uzrok: Nedostaje zagrada zaglavlja odeljka (npr. '[Settings' umesto '[Settings]') ili nekodirani znak jednakosti u vrednosti.
Oporavak: Potvrdite i popravite INI sintaksu pomoću alata File2File Config Formatter.
Bezbednosna analiza i vektori napada parsera
INI parseri moraju da se zaštite od napada injekcijom odeljaka i zagađenja prototipa (prototype pollution) prilikom deserijalizacije u objekte.
Poznati vektori napada
- INI injekcija gde uvođenje novog reda u korisničkom unosu kreira neovlašćene konfiguracione odeljke.
- Zagađenje prototipa u JavaScript INI parserima dodelom vrednosti za '__proto__'.
- Uskraćivanje usluge (DoS) kroz duboko rekurzivnu ekspanziju imena odeljaka.
Defanzivne najbolje prakse:
Istorijat i prekretnice
Ključne prednosti
- Izuzetno čista, intuitivna sintaksa: tehnički manje obučeni korisnici mogu lako pročitati i izmeniti postavke.
- Izvorni API-ji za parsiranje u skoro svakom programskom jeziku (Python configparser, PHP parse_ini_file, C#).
- Imenski prostori odeljaka sprečavaju preklapanje postavki u različitim funkcijama aplikacije.
Tehnička ograničenja i nedostaci
- Nema formalni međunarodni standard: znakovi za komentare (; vs #) i pravila navodnika se razlikuju u zavisnosti od parsera.
- Ravna hijerarhija: ne podržava duboko ugnježđene nizove ili složene struktuirane objekte bez prilagođenih separatora.
- Sve vrednosti se čitaju kao niske (stringovi), što zahteva od aplikacija da ručno parsiraju cele brojeve, Bulove vrednosti i decimalne brojeve.
Zanimljivosti
- U Windowsu 3.1, svaka pojedinačna postavka u celom operativnom sistemu bila je uskladištena u samo dve datoteke: WIN.INI i SYSTEM.INI.
- Git koristi INI format za svoju primarnu konfiguracionu datoteku skladišta koja se nalazi na lokaciji '.git/config'.
- Datoteke prečica na radnoj površini na Linux-u (XDG Desktop Entry '.desktop' datoteke) strukturirane su pomoću standardne INI sintakse.
Često postavljana tehnička pitanja
Čemu služi INI fajl?
INI fajlove koriste desktop softver, igre i alati za razvoj (kao što su Git config i PHP.ini) za čuvanje korisničkih podešavanja i konfiguracija u lako čitljivom formatu.
Kako mogu da izmenim INI fajl?
Možete da otvorite i izmenite INI fajlove pomoću bilo kog osnovnog uređivača teksta kao što su Notepad, TextEdit, VS Code, ili direktno onlajn koristeći File2File.app.
Mogu li da konvertujem INI u JSON ili YAML?
Da. File2File.app može trenutno da konvertuje INI fajlove u čiste JSON, YAML ili TOML formate direktno u vašem pretraživaču.