فایل لایسنس ionCube چیست و چطور کار می‌کند؟

فایل لایسنس ionCube فایلی جداگانه است که شرایط اجرای اسکریپت انکدشده را نگه می‌دارد: دامنه‌های مجاز، تاریخ انقضا و سایر محدودیت‌ها. لودر هنگام اجرا این فایل را می‌خواند و شرایط را بررسی می‌کند. مزیت این روش نسبت به قفل ثابت داخل خروجی این است که می‌توانید بدون انکد مجدد، لایسنس مشتری را تمدید یا تغییر دهید.

این مقاله در یک نگاه

  • فایل لایسنس جدا از فایل انکدشده است و کنار آن قرار می‌گیرد.
  • لودر هنگام اجرا آن را می‌خواند و شرایط را بررسی می‌کند.
  • برای تمدید کافی است فایل لایسنس جدید بفرستید، نه کل محصول.
  • فایل لایسنس امضا شده است و دستکاری آن نتیجه‌ای ندارد.
  • قفل ثابت داخل خروجی گزینه ساده‌تر برای فروش یک‌باره است.

فایل لایسنس چیست؟

وقتی اسکریپتی را انکد می‌کنید، دو راه برای اعمال محدودیت دارید. راه اول این است که محدودیت‌ها را مستقیم داخل خروجی بنویسید؛ در این حالت خروجی برای همان دامنه و همان شرایط ثابت می‌شود.

راه دوم استفاده از فایل لایسنس است: خروجی طوری ساخته می‌شود که هنگام اجرا دنبال یک فایل لایسنس بگردد و شرایط را از آن بخواند. فایل لایسنس یک فایل کوچک و امضاشده است که کنار اسکریپت قرار می‌گیرد.

چطور کار می‌کند؟

در زمان اجرا، لودر ابتدا فایل لایسنس را پیدا و اعتبارسنجی می‌کند. اگر امضا معتبر بود، شرایط داخل آن را با وضعیت فعلی سرور مقایسه می‌کند: آیا دامنه در فهرست مجاز است؟ آیا تاریخ منقضی نشده؟

اگر همه شرایط برقرار بود، اجرا ادامه پیدا می‌کند. در غیر این صورت متوقف و پیام خطای لایسنس نمایش داده می‌شود. نکته امنیتی مهم این است که فایل لایسنس امضا شده است؛ اگر کسی محتوایش را دستکاری کند، امضا نامعتبر می‌شود و لایسنس رد می‌شود.

چرا دستکاری جواب نمی‌دهد امضای فایل لایسنس با کلیدی انجام می‌شود که در اختیار مشتری نیست. بنابراین ساختن یک فایل لایسنس جعلی با دامنه دلخواه ممکن نیست.

فایل لایسنس یا قفل ثابت؟

معیارقفل ثابت داخل خروجیفایل لایسنس جدا
تغییر دامنه مشترینیازمند انکد مجددفقط فایل لایسنس جدید
تمدید اشتراکنیازمند انکد مجددفقط فایل لایسنس جدید
سادگی تحویلیک بستهبسته به علاوه فایل لایسنس
مناسب برایفروش یک‌باره و دائمیاشتراک و مشتریان متعدد

اگر محصول را یک‌بار می‌فروشید و دائمی است، قفل ثابت ساده‌تر است؛ توضیح کامل در قفل کردن اسکریپت روی دامنه. اگر مدل فروشتان اشتراکی است یا مشتریان زیادی دارید، فایل لایسنس مدیریت را به مراتب ساده‌تر می‌کند.

مدیریت لایسنس مشتریان

وقتی تعداد مشتریان بالا می‌رود، مدیریت دستی لایسنس‌ها سخت می‌شود. چند اصل ساده کار را مرتب نگه می‌دارد.

  1. سوابق کامل نگه دارید برای هر مشتری دامنه، تاریخ صدور و تاریخ انقضا را ثبت کنید.
  2. فرایند تمدید را از قبل مشخص کنید مشتری باید بداند چند روز قبل از انقضا و چطور تمدید کند.
  3. سیاست تغییر دامنه بنویسید مثلا سالی یک بار تغییر رایگان.
  4. یادآوری خودکار بگذارید پیش از انقضا به مشتری اطلاع دهید تا سرویسش قطع نشود.

اگر می‌خواهید این فرایند را خودکار کنید، معماری پیشنهادی در ساخت سیستم لایسنس برای محصول PHP آمده است. برای گزینه‌های محدودسازی هم صفحه لایسنس‌گذاری را ببینید. مستندات رسمی در سایت ionCube موجود است.

جمع بندی: فایل لایسنس ionCube فایلی جدا و امضاشده است که شرایط اجرای اسکریپت را نگه می‌دارد و لودر هنگام اجرا آن را بررسی می‌کند. بزرگ‌ترین مزیتش این است که برای تمدید یا تغییر دامنه، فقط فایل لایسنس جدید می‌فرستید و نیازی به انکد مجدد کل محصول نیست. برای فروش یک‌باره قفل ثابت ساده‌تر است، اما برای مدل اشتراکی فایل لایسنس مدیریت را بسیار ساده‌تر می‌کند.

سوالات متداول

فایل لایسنس کجا باید قرار بگیرد؟

معمولا کنار فایل‌های اسکریپت در همان مسیر پروژه. مسیر دقیق هنگام انکد مشخص می‌شود و باید در راهنمای نصب به مشتری اعلام شود.

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

امضای فایل نامعتبر می‌شود و لودر آن را رد می‌کند. ساختن فایل لایسنس جعلی بدون کلید امضا ممکن نیست.

برای تمدید باید کل محصول را دوباره بفرستم؟

خیر. با فایل لایسنس فقط همان فایل جدید را می‌فرستید و مشتری جایگزینش می‌کند.

فایل لایسنس بهتر است یا قفل ثابت؟

برای فروش یک‌باره و دائمی قفل ثابت ساده‌تر است؛ برای مدل اشتراکی و مشتریان متعدد، فایل لایسنس مدیریت را ساده‌تر می‌کند.

اگر مشتری فایل لایسنس را گم کند؟

می‌توانید نسخه جدیدی برایش صادر کنید. به همین دلیل نگه داشتن سوابق دامنه و تاریخ هر لایسنس اهمیت دارد.

مطالب مرتبط: قفل روی دامنه · ساخت سیستم لایسنس · لایسنس‌گذاری