INI postavke (.ini)
De StandardnoWindows Initialization Configuration (INI) klasični je čitljivi format konfiguracijske datoteke koji je popularizirao Microsoft Windows, organizirajući postavke aplikacije u imenovane [odjeljke] koji sadrže parove ključ=vrijednost.
Pretvori INI u JSON
Besplatni INI u JSON pretvarač u pregledniku. Trenutno pretvorite datoteke na svom uređaju.
Pregledaj i metapodaci
Operativni sustavi i alati za analizu datoteka identificiraju INI datoteke provjerom početnog niza binarnih bajtova:
Potpis zaglavlja na razini bajtova (Magic Bytes)
Operativni sustavi i alati za analizu datoteka identificiraju INI datoteke provjerom početnog niza binarnih bajtova:
HEX POTPIS (POMAK 0):
5B ... 5DASCII PRIKAZ: [...]
Standardizacija: De facto industry configuration standard
Tehničke specifikacije
| Arhitektura spremnika | Plaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #) |
| Kompresija | Uncompressed text file |
| 字节序 | 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 |
| Prozirnost | None |
| Streaming i progresivno | Sequential line-by-line streaming parser |
Tehnička matrica usporedbe: INI vs Konkurencija
| Tehnički atribut | INI (Trenutno) | JSON | YAML | TOML |
|---|---|---|---|---|
| Složenost sintakse | Najjednostavnija moguća (odjeljak + ključ=vrijednost) | Stroge zagrade i navodnici | Bjelina osjetljiva na uvlaku | Moderne tipizirane tablice |
| Podrška za komentare | Nativna (; i # komentari) | Nema podrške za komentare u specifikaciji | Nativna (# komentari) | Nativna (# komentari) |
| Ugniježđene strukture | Samo odjeljci s 1 razinom | Beskonačno ugniježđeni objekti/nizovi | Beskonačno ugniježđena stabla | Strukturirani nizovi tablica |
| Tipizacija podataka | Implicirani nizovi znakova (aplikacija parsira tipove) | Eksplicitni brojevi, boolean vrijednosti, nizovi | Eksplicitni tipovi i sidra | Eksplicitni datumi, brojevi, nizovi |
Uobičajeni načini oštećenja i vodič za heksadecimalni oporavak
Aplikacija ignorira postavke ili se ne može pokrenuti.
Temeljni uzrok: Nedostaje zagrada zaglavlja odjeljka (npr. '[Postavke' umjesto '[Postavke]') ili neescapirani znak jednakosti u vrijednosti.
Oporavak: Provjerite i ispravite INI sintaksu pomoću alata File2File Config Formatter.
Sigurnosna analiza i vektori napada na parser
INI parseri se moraju zaštititi od napada ubacivanjem odjeljaka i zagađenja prototipa pri deserijalizaciji u objekte.
Poznati vektori napada
- INI injekcija gdje unos novog retka u korisničkom unosu stvara neovlaštene konfiguracijske odjeljke.
- Zagađenje prototipa u JavaScript INI parserima koji dodjeljuju vrijednosti na '__proto__'.
- Uskaćivanje usluge (DoS) kroz duboko rekurzivno proširivanje naziva odjeljaka.
Najbolje obrambene prakse:
Povijesni izvori i prekretnice
Ključne prednosti
- Iznimno čist, intuitivan sintaksa: netehnički korisnici mogu jednostavno čitati i mijenjati postavke.
- Nativni API-ji za parsiranje u gotovo svakom programskom jeziku (Python configparser, PHP parse_ini_file, C#).
- Imenski prostori odjeljaka sprječavaju sukobe postavki u različitim značajkama aplikacije.
Tehnička ograničenja i nedostaci
- Nema službeni međunarodni standard: znakovi za komentare (; naspram #) i pravila pobjega razlikuju se među parserima.
- Ravna hijerarhija: ne podržava duboko ugniježđene nizove ili složene strukturirane objekte bez prilagođenih graničnika.
- Sve se vrijednosti čitaju kao nizovi znakova, što zahtijeva da aplikacije ručno parsiraju cijele brojeve, boolean vrijednosti i decimalne brojeve.
Zanimljive tehničke činjenice
- U Windowsima 3.1, svaka pojedinačna postavka u cijelom operativnom sustavu bila je pohranjena u samo dvije datoteke: WIN.INI i SYSTEM.INI.
- Git koristi INI format za svoju glavnu konfiguracijsku datoteku spremišta koja se nalazi u '.git/config'.
- Datoteke prečaca na radnoj površini na Linuxu (XDG Desktop Entry '.desktop' datoteke) strukturirane su pomoću standardne INI sintakse.
Često postavljana tehnička pitanja
Za što se koristi INI datoteka?
INI datoteke koriste računalni programi, igre i razvojni alati (poput konfiguracije za Git i PHP.ini) za spremanje korisničkih postavki i konfiguracijskih parametara u lako čitljivom formatu.
Kako mogu urediti INI datoteku?
INI datoteke možete otvoriti i uređivati pomoću bilo kojeg osnovnog uređivača teksta poput Notepada, TextEdita, VS Code-a ili izravno na mreži pomoću alata File2File.app.
Mogu li pretvoriti INI u JSON ili YAML?
Da. File2File.app može trenutno u vašem pregledniku pretvoriti INI datoteke u čiste formate JSON, YAML ili TOML.