فایل لایسنس ionCube چیست و چطور کار میکند؟
فایل لایسنس ionCube فایلی جداگانه است که شرایط اجرای اسکریپت انکدشده را نگه میدارد: دامنههای مجاز، تاریخ انقضا و سایر محدودیتها. لودر هنگام اجرا این فایل را میخواند و شرایط را بررسی میکند. مزیت این روش نسبت به قفل ثابت داخل خروجی این است که میتوانید بدون انکد مجدد، لایسنس مشتری را تمدید یا تغییر دهید.
این مقاله در یک نگاه
- فایل لایسنس جدا از فایل انکدشده است و کنار آن قرار میگیرد.
- لودر هنگام اجرا آن را میخواند و شرایط را بررسی میکند.
- برای تمدید کافی است فایل لایسنس جدید بفرستید، نه کل محصول.
- فایل لایسنس امضا شده است و دستکاری آن نتیجهای ندارد.
- قفل ثابت داخل خروجی گزینه سادهتر برای فروش یکباره است.
فایل لایسنس چیست؟
وقتی اسکریپتی را انکد میکنید، دو راه برای اعمال محدودیت دارید. راه اول این است که محدودیتها را مستقیم داخل خروجی بنویسید؛ در این حالت خروجی برای همان دامنه و همان شرایط ثابت میشود.
راه دوم استفاده از فایل لایسنس است: خروجی طوری ساخته میشود که هنگام اجرا دنبال یک فایل لایسنس بگردد و شرایط را از آن بخواند. فایل لایسنس یک فایل کوچک و امضاشده است که کنار اسکریپت قرار میگیرد.
چطور کار میکند؟
در زمان اجرا، لودر ابتدا فایل لایسنس را پیدا و اعتبارسنجی میکند. اگر امضا معتبر بود، شرایط داخل آن را با وضعیت فعلی سرور مقایسه میکند: آیا دامنه در فهرست مجاز است؟ آیا تاریخ منقضی نشده؟
اگر همه شرایط برقرار بود، اجرا ادامه پیدا میکند. در غیر این صورت متوقف و پیام خطای لایسنس نمایش داده میشود. نکته امنیتی مهم این است که فایل لایسنس امضا شده است؛ اگر کسی محتوایش را دستکاری کند، امضا نامعتبر میشود و لایسنس رد میشود.
فایل لایسنس یا قفل ثابت؟
| معیار | قفل ثابت داخل خروجی | فایل لایسنس جدا |
|---|---|---|
| تغییر دامنه مشتری | نیازمند انکد مجدد | فقط فایل لایسنس جدید |
| تمدید اشتراک | نیازمند انکد مجدد | فقط فایل لایسنس جدید |
| سادگی تحویل | یک بسته | بسته به علاوه فایل لایسنس |
| مناسب برای | فروش یکباره و دائمی | اشتراک و مشتریان متعدد |
اگر محصول را یکبار میفروشید و دائمی است، قفل ثابت سادهتر است؛ توضیح کامل در قفل کردن اسکریپت روی دامنه. اگر مدل فروشتان اشتراکی است یا مشتریان زیادی دارید، فایل لایسنس مدیریت را به مراتب سادهتر میکند.
مدیریت لایسنس مشتریان
وقتی تعداد مشتریان بالا میرود، مدیریت دستی لایسنسها سخت میشود. چند اصل ساده کار را مرتب نگه میدارد.
- سوابق کامل نگه دارید برای هر مشتری دامنه، تاریخ صدور و تاریخ انقضا را ثبت کنید.
- فرایند تمدید را از قبل مشخص کنید مشتری باید بداند چند روز قبل از انقضا و چطور تمدید کند.
- سیاست تغییر دامنه بنویسید مثلا سالی یک بار تغییر رایگان.
- یادآوری خودکار بگذارید پیش از انقضا به مشتری اطلاع دهید تا سرویسش قطع نشود.
اگر میخواهید این فرایند را خودکار کنید، معماری پیشنهادی در ساخت سیستم لایسنس برای محصول PHP آمده است. برای گزینههای محدودسازی هم صفحه لایسنسگذاری را ببینید. مستندات رسمی در سایت ionCube موجود است.
سوالات متداول
فایل لایسنس کجا باید قرار بگیرد؟
معمولا کنار فایلهای اسکریپت در همان مسیر پروژه. مسیر دقیق هنگام انکد مشخص میشود و باید در راهنمای نصب به مشتری اعلام شود.
اگر مشتری فایل لایسنس را دستکاری کند چه میشود؟
امضای فایل نامعتبر میشود و لودر آن را رد میکند. ساختن فایل لایسنس جعلی بدون کلید امضا ممکن نیست.
برای تمدید باید کل محصول را دوباره بفرستم؟
خیر. با فایل لایسنس فقط همان فایل جدید را میفرستید و مشتری جایگزینش میکند.
فایل لایسنس بهتر است یا قفل ثابت؟
برای فروش یکباره و دائمی قفل ثابت سادهتر است؛ برای مدل اشتراکی و مشتریان متعدد، فایل لایسنس مدیریت را سادهتر میکند.
اگر مشتری فایل لایسنس را گم کند؟
میتوانید نسخه جدیدی برایش صادر کنید. به همین دلیل نگه داشتن سوابق دامنه و تاریخ هر لایسنس اهمیت دارد.
مطالب مرتبط: قفل روی دامنه · ساخت سیستم لایسنس · لایسنسگذاری
PHP