INI beállítások (.ini)

De Szabvány

A Windows Initialization Configuration (INI) a Microsoft Windows által népszerűsített klasszikus, ember által olvasható konfigurációsfájl-formátum, amely az alkalmazásbeállításokat kulcs=érték párokat tartalmazó, elnevezett [szakaszokba] szervezi.

INI konvertálása erre: JSON

Ingyenes, böngészőben használható INI-konverter JSON formátumba. A fájlokat azonnal konvertálhatja az eszközén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) INI fájlokat:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) INI fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

5B ... 5D

ASCII ÁBRÁZOLÁS: [...]

Szabványosítás: De facto iparági konfigurációs szabvány

Műszaki specifikációk

Konténer architektúraEgyszerű szöveges konfigurációs fájl [section] fejlécekkel, kulcs = érték párokkal és megjegyzésekkel (; vagy #)
TömörítésTömörítetlen szövegfájl
BájtsorrendUTF-8 vagy ANSI kódolású szövegfolyam
SzínterekNem alkalmazható (konfigurációs fájl)
Csatornák és struktúraSzakaszok szerint csoportosított kulcs-érték konfigurációs tulajdonságok
Max. méretekA 16 bites Windowsban történetileg 64 KB-os korlát volt érvényben; a modern megvalósításokban nincs méretkorlát
ÁtlátszóságNincs
Streaming és progresszívSzekvenciális, sorról sorra haladó adatfolyam-elemzés

Műszaki összehasonlító mátrix: INI vs. versenytársak

Technikai attribútumINI (Jelenlegi)JSONYAMLTOML
Szintaxis összetettségeA lehető legegyszerűbb (szakasz + kulcs=érték)Szigorú zárójelek és idézőjelekBehúzásérzékeny szóközökModern típusos táblák
Megjegyzések támogatásaNatív támogatás (; és # jelű megjegyzések)A specifikáció nem támogatja a megjegyzéseketNatív támogatás (# jelű megjegyzések)Natív támogatás (# jelű megjegyzések)
Beágyazott struktúrákCsak 1 szintes szakaszokVégtelen beágyazott objektumok/tömbökVégtelen beágyazott fákStrukturált táblatömbök
AdattípusokImplicit karakterláncok (az alkalmazás elemzi a típusokat)Kifejezetten megadott számok, logikai értékek és tömbökKifejezetten megadott típusok és horgonyokKifejezetten megadott dátumok, számok és tömbök

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

Az alkalmazás figyelmen kívül hagyja a beállításokat, vagy nem indul el.

Kiváltó ok: Hiányzó szakaszfejléc-zárójel (pl. „[Settings" a „[Settings]" helyett) vagy escape-elés nélküli egyenlőségjel az értékben.

Helyreállítás: Ellenőrizze és javítsa ki az INI szintaxisát a File2File.app Config Formatter segítségével.

Biztonsági elemzés és elemző (parser) támadási vektorok

Az INI elemzőknek védekezniük kell a szakaszbeszúrásos támadások és a prototípus-szennyezés ellen az objektumokká történő deszerializálás során.

Ismert támadási vektorok

  • INI-injekció, amelynél a felhasználói bemenetbe illesztett új sor jogosulatlan konfigurációs szakaszokat hoz létre.
  • Prototípus-szennyezés a JavaScript INI elemzőkben, amelyek a '__proto__' tulajdonsághoz rendelnek értéket.
  • Szolgáltatásmegtagadás (DoS) a mélyen rekurzív szakasznév-bővítés révén.

Ajánlott védekezési módszerek: Tisztítsa meg a felhasználói bemeneteket, hogy tiltsa az újsor karaktereket, és védekezzen a prototípus-szennyezés (prototype pollution) ellen.

Történeti háttér és mérföldkövek

2000A Python szabványos könyvtára tartalmazza a configparser modult az INI-fájlok kezeléséhez.
1995A Windows 95 bevezeti a Windows Registryt a monolitikus rendszerbeli INI-fájlok (SYSTEM.INI, WIN.INI) felváltására.
1985A Microsoft Windows 1.0 bevezeti a WIN.INI-t alapvető operációsrendszer-konfigurációs adatbázisként.

Főbb előnyök

  • Kivételesen tiszta, intuitív szintaxis: a nem műszaki felhasználók is könnyen olvashatják és módosíthatják a beállításokat.
  • Natív elemző API-k szinte minden programozási nyelvben (Python configparser, PHP parse_ini_file, C#).
  • A szakasznévterek megakadályozzák, hogy ütközzenek egymással a különböző alkalmazásfunkciók beállításai.

Technikai korlátok és hátrányok

  • Nincs hivatalos nemzetközi szabvány: a megjegyzésjelek (; vs #) és a karakterek escape-elésének szabályai elemzőnként eltérőek lehetnek.
  • Lapos hierarchia: egyedi elválasztók nélkül nem támogatja a mélyen beágyazott tömböket vagy összetett strukturált objektumokat.
  • Minden érték karakterláncként olvasódik be, ami megköveteli az alkalmazásoktól az egész számok, logikai értékek és lebegőpontos számok manuális elemzését.

Érdekes technikai tudnivalók

  • A Windows 3.1-ben a teljes operációs rendszer minden egyes beállítása mindössze két fájlban volt tárolva: a WIN.INI-ben és a SYSTEM.INI-ben.
  • A Git az INI formátumot használja a „.git/config" útvonalon található elsődleges adattár-konfigurációs fájljához.
  • A Linux asztali parancsikonfájljai (XDG Desktop Entry „.desktop" fájlok) a szabványos INI szintaxist használva vannak felépítve.

Gyakran Ismételt Műszaki Kérdések

Mire használatos egy INI fájl?

Az INI fájlokat asztali szoftverek, játékok és fejlesztői eszközök (például a Git konfiguráció és a PHP.ini) használják a felhasználói beállítások és konfigurációs opciók könnyen olvasható formátumban történő tárolására.

Hogyan szerkeszthetem az INI-fájlt?

Az INI-fájlokat bármilyen egyszerű szövegszerkesztővel, például a Jegyzettömbbel (Notepad), a TextEdittel vagy a VS Code-dal, illetve közvetlenül online, a File2File.app használatával nyithatja meg és szerkesztheti.

Konvertálhatok INI-t JSON-be vagy YAML-be?

Igen. A File2File.app azonnal, az Ön böngészőjében konvertálja az INI-fájlokat tiszta JSON-, YAML- vagy TOML-formátumba.