تنظیمات INI (.ini)

De استاندارد

پیکربندی راه‌اندازی ویندوز (INI) فرمت فایل پیکربندی کلاسیک و قابل خواندن توسط انسان است که توسط مایکروسافت ویندوز رایج شد و تنظیمات برنامه را در [بخش‌های] نام‌گذاری‌شده شامل جفت‌های کلید=مقدار سازماندهی می‌کند.

تبدیل INI به JSON

مبدل رایگان INI به JSON درون مرورگر. فایل‌ها را فورا روی دستگاه خود تبدیل کنید.

بررسی و فراداده

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های INI را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

انتخاب یا رها کردن فایل‌ها در اینجا

تبدیل ۱۰۰٪ خصوصی در مرورگر - فایل‌ها هرگز دستگاه شما را ترک نمی‌کنند

یا جای‌گذاری کنید Ctrl+V
تضمین حریم خصوصی بدون انتقال شبکه: صفر بایت به سرورهای خارجی آپلود می‌شود. تمام پردازش‌ها به صورت محلی در سندباکس مرورگر شما انجام شد.

امضای هدر در سطح بایت (Magic Bytes)

سیستم‌عامل‌ها و تحلیلگرهای فایل، فایل‌های INI را با بررسی توالی بایت‌های دودویی ابتدایی شناسایی می‌کنند:

امضای HEX (آفست 0):

5B ... 5D

نمایش ASCII: [...]

استانداردسازی: De facto industry configuration standard

مشخصات فنی

معماری کانتینرPlaintext configuration file structured into [section] headers containing key = value pairs and comments (; or #)
فشرده‌سازیUncompressed text file
ترتیب بایت‌ها (Endianness)UTF-8 or ANSI text stream
فضاهای رنگیN/A (Configuration File)
کانال‌ها و ساختارKey-value configuration properties categorized by section namespaces
حداکثر ابعادHistorical 64 KB limit in 16-bit Windows; unlimited in modern implementations
شفافیت مشخصاتNone
استریمینگ و پیش‌روندهSequential line-by-line streaming parser

ماتریس مقایسه فنی: INI در برابر رقبا

ویژگی فنیINI (فعلی)JSONYAMLTOML
پیچیدگی سینتکسساده‌ترین حالت ممکن (بخش + کلید=مقدار)براکت‌ها و نقل‌قول‌های سخت‌گیرانهفضای سفید حساس به تورفتگیجداول تایپ‌شده مدرن
پشتیبانی از کامنتبومی (کامنت‌های ; و #)بدون پشتیبانی از کامنت در مشخصاتبومی (کامنت‌های #)بومی (کامنت‌های #)
ساختارهای توکار (Nested)فقط بخش‌های ۱ سطحیاشیاء / آرایه‌های توکار نامحدوددرخت‌های توکار نامحدودآرایه‌های جدول ساختاریافته
تایپ دادهرشته‌های ضمنی (برنامه انواع را تجزیه می‌کند)اعداد صریح، بولین‌ها، آرایه‌هاانواع و لنگرهای صریحتاریخ‌ها، اعداد، آرایه‌های صریح

حالت‌های رایج خرابی و راهنمای بازیابی هگز

برنامه تنظیمات را نادیده می‌گیرد یا در راه‌اندازی شکست می‌خورد.

علت ریشه‌ای: براکت هدر بخش گمشده (مثلاً '[Settings' به جای '[Settings]') یا علامت مساوی فرار نکرده در مقدار.

بازیابی: اعتبارسنجی و رفع سینتکس INI با استفاده از قالب‌بندی‌کننده پیکربندی File2File.

تحلیل امنیتی و بردارهای حمله تجزیه‌کننده (Parser)

تجزیه‌کننده‌های INI باید در برابر حملات تزریق بخش و آلودگی پروتوتایپ هنگام جداسازی (Deserializing) به اشیاء محافظت کنند.

بردارهای حمله شناخته‌شده

  • تزریق INI که در آن درج خط جدید در ورودی کاربر، بخش‌های پیکربندی غیرمجاز ایجاد می‌کند.
  • آلودگی پروتوتایپ در تجزیه‌کننده‌های INI جاوا اسکریپت که به '__proto__' تخصیص می‌یابند.
  • انکار سرویس از طریق گسترش نام بخش به صورت بازگشتی عمیق.

بهترین روش‌های پدافندی:

تاریخچه و نقاط عطف

2000کتابخانه استاندارد پایتون ماژول ConfigParser را یکپارچه می‌کند و INI را به عنوان یک فرمت پیکربندی نرم‌افزار جهانی تثبیت می‌نماید.
1995ویندوز ۹۵ رجیستری ویندوز را برای جایگزینی فایل‌های INI یکپارچه سیستم (SYSTEM.INI، WIN.INI) معرفی می‌کند.
1985مایکروسافت ویندوز ۱.۰ فایل WIN.INI را به عنوان پایگاه داده پیکربندی اصلی سیستم‌عامل معرفی می‌کند.

مزایا و نقاط قوت کلیدی

  • سینتکس بسیار تمیز و بصری: کاربران غیرفنی می‌توانند تنظیمات را به راحتی بخوانند و تغییر دهند.
  • APIهای تجزیه بومی در تقریباً هر زبان برنامه‌نویسی (configparser در پایتون، parse_ini_file در PHP، C#).
  • فضاهای نام بخشی از تداخل تنظیمات در ویژگی‌های مختلف برنامه جلوگیری می‌کنند.

محدودیت‌ها و معایب فنی

  • فاقد استاندارد بین‌المللی رسمی: کاراکترهای کامنت (؛ در مقابل #) و قوانین فرار در میان تجزیه‌کننده‌ها متفاوت است.
  • سلسله‌مراتب تخت: از آرایه‌های عمیقاً توکار یا اشیاء ساختاریافته پیچیده بدون جداکننده‌های سفارشی پشتیبانی نمی‌کند.
  • تمام مقادیر به صورت رشته خوانده می‌شوند و برنامه‌ها را ملزم می‌کنند که به صورت دستی اعداد صحیح، بولین‌ها و ممیز شناور را تجزیه کنند.

نکات فنی جالب

  • در ویندوز ۳.۱، تک‌تک تنظیمات در کل سیستم‌عامل فقط در دو فایل ذخیره می‌شد: WIN.INI و SYSTEM.INI.
  • گیت از فرمت INI برای فایل پیکربندی مخزن اصلی خود واقع در '.git/config' استفاده می‌کند.
  • فایل‌های میانبر دسکتاپ در لینوکس (فایل‌های '.desktop' ورودی دسکتاپ XDG) با استفاده از سینتکس استاندارد INI ساختار یافته‌اند.

سوالات فنی متداول

فایل INI برای چه منظوری استفاده می‌شود؟

فایل‌های INI توسط نرم‌افزارهای دسکتاپ، بازی‌ها و ابزارهای توسعه‌دهنده (مانند تنظیمات Git و PHP.ini) برای ذخیره ترجیحات کاربر و تنظیمات پیکربندی در قالبی به راحتی قابل خواندن استفاده می‌شوند.

چگونه می‌توانم یک فایل INI را ویرایش کنم؟

شما می‌توانید فایل‌های INI را با هر ویرایشگر متن پایه‌ای مانند Notepad، TextEdit، VS Code یا مستقیماً به صورت آنلاین با استفاده از File2File.app باز و ویرایش کنید.

آیا می‌توانم INI را به JSON یا YAML تبدیل کنم؟

بله. سایت File2File.app می‌تواند فایل‌های INI را فوراً در مرورگر شما به فرمت‌های تمیز JSON، YAML یا TOML تبدیل کند.