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

شروع موضوع توسط alik ‏31 ژانویه 2007 در انجمن آموزش PHP به زبان فارسی

  1. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,146
    تشکر شده:
    1,226
    چون توی سئوال قبلیم راجب فایل لیسانس به نتیجه خاصی نرسیدم و در کل بنظرم رسید چیز خوبیه شما هم بدونید استفاده کنید :

    اول به zend safeguard 4 نیاز دارید که کرک هم شده باشد .
    دوم این مطلب را قشنگ بخونید :happy:

    حتما افراد زیادی هستند که با زند اسکریپت هاشون را انکود کردن و میدونن که چجوری با زند کار کنند .

    شما زمان انکود کردن یک گزینه در مورد تاریخ مصرف اسکریپت مشاهده میکنید که توسط اون تاریخ میتوانید تعیین کنید اسکریپت تا چه زمانی کار کنه و بعد از اون تاریخ فاسد میشه و دیگه کار نمیکنه

    حالا یک امکان دیگری وجود دارد که شما میتوانید محدودیت های بیشتر اعمال کنید

    برنامه زند را باز کنید و مثل قبلا برای انکود کردن اسکریپت با شرایط مورد نیازتان تنظیمش کنید

    به قسمت security بروید و در قسمت license enforcment support اول یک اسم برای محصول خودتان انتخاب کنید توجه کنید اسم بعد مورد استفاده قرار میگیرد و یک اسم درست حسابی انتخاب کنید.

    گزینه license file restriction را انتخاب کنید تا اسکریپت شما بدون فایل لیسانس کار نکند
    گزینه license API restriction را انتخاب کنید تا اسکریپت بدون فایل لیسانس هم کار بکند ولی میتوانید فایل لیسانس را داخل برنامه Load کنید و ازش استفاده کنید

    مثلا نسخه نمایشی کار کنه و اگر فایل لیسانس بود بصورت کامل با تمام امکانات کار کند.


    خب تا اینجا کارمون با انکود کردن تمام میشه و دکمه انکود را بزنید تا اسکریپت انکود بشود .

    حالا در بالا زند کنار گزینه Encoding یک گزینه وجود دارد به اسم Licesnsing
    وارد این قسمت بشوید

    در اولین قسمت دقیقا اسم product name را بزنید که زمان انکود کردن وارد کنید.

    در دومین قسمت یک گزینه به اسم additional license information وجود دارد شما در این قسمت می توانید با این فرمت پارامتر های خودتان را بزارید مثلا اسم برنامه نویس را بنویسید و یا متغییر هایی بزارید که باهاش محدودیت ایجاد کنید فرمتش به این صورت هست:
    name=value
    مثلا: domain=test.com

    خب حالا این به چه دردی میخوره ؟ هر چیزی که شما در این فایل لیسانس بنویسید غیر قابل تغییر خواهد بود و کاملا قابل استناد هست مثلا وقتی من اون بالا زدم دامین = test.com میتونم توی برنامه ام چک کنم اگر دامین مساوی همین مقدار test.com بود کار کنه و اگر نبود نزاره روی دامین دیگه ای از اسکریپتم استفاده کنن

    گزینه های دیگه برای تولید فایل لیسانس وجود داره مثل :
    limit to ip اسکریپت شما را محدود به ip خاص میکنه و فقط روی سرور هایی با همین ip کار خواهد کرد
    license expire به شما امکان میده مثلا سر یک تاریخ خاص اسکریپت از کار بیوفته یا تا یک تاریخ خاص فقط کار کنه بدرد فروش نسخه تست و نسخه نمایشی مثلا یکماه میخوره
    limit to concurrect user این محدودیت رو اعمال میکنه که بصورت همزمان چند نفر از اسکریپت شما بتوانن استفاده کنند یعنی کاربران انلاین چند نفر باشه مثلا اگر بیشتر از 5 نفر شد کار نکنه

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



    خب حالا فایل را generate کنید و ذخیره کنید.

    حالا اگر گزینه license file restriction را انتخاب کردید باید این فایل لیسانس تولید شده را بزارید داخل فولدری که مخصوص فایل های لیسانس هست آدرس این فولدر داخل تنظیمات php.ini هستش

    اگر گزینه license API restriction را انتخاب کردید میتوانید فایل لیسانس را داخل برنامه با این تابع لود کنید:
    PHP:
    zend_loader_install_license("file_path");
    $lic_info zend_loader_file_licensed();
    تابع اولی با ادرس فایل که بهش میدید فایل لیسانس را لود میکنه
    تابعی که در خط دوم هست یک array برمیگردونه که تمام پارامتر های فایل لیسانس داخلشه



    امیدوارم بتوانید از فایل لیسانس بهترین استفاده را برای محافظت از پروژه هاتون بکنید.
     
  2. خدمات پی پالبازدیدیار - افزایش بازدید سایت و سیگنال های برند
  3. shahkey

    shahkey Registered User

    تاریخ عضویت:
    ‏16 نوامبر 2005
    نوشته ها:
    1,232
    تشکر شده:
    4
    بهت گفتم که!
    برو تو فروم خود زند بهشون راستشو بگو حتما کمکت میکنن!!!
    ولی نگو ایرانی هستی!!!
     
  4. shahkey

    shahkey Registered User

    تاریخ عضویت:
    ‏16 نوامبر 2005
    نوشته ها:
    1,232
    تشکر شده:
    4
    راستی مطلبت هم خیلی بدردم خود.
    مرسی
     
  5. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,146
    تشکر شده:
    1,226
  6. siavashmusic

    siavashmusic Registered User

    تاریخ عضویت:
    ‏6 فوریه 2005
    نوشته ها:
    1,206
    تشکر شده:
    1
    محل سکونت:
    بندرانزلی
    دستت درد نکنه
    اون مشکل قبلیت از چی بود ؟! متوجه شدی؟! بزار اینجا تا دوستان استفاده کنند
    بازم ممنون از اموزشت
     
  7. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,146
    تشکر شده:
    1,226
    مشکل از سرور بودش برای امنیت بیشتر یکسری کارهایی کرده بودن که هربار لیسانس میپرید !!
    روی دوتا سرور دیگه تست کردم مشکلی نداشت.
    یک چیزی که در لیسانس زند هستش لود شدنش هست که یکبار لود میشه یعنی شما اگر از تابعی که برای لود کردن توسط api هست استفاده کنید یکبار چند ثانیه طول میکشه و لیسانس لود میشه و دفعات بعد اگر همون فایل را مجدد صدا کنید دیگه لود نمیشه و صرفا زند از لیسانسی که قبلا لود کرده استفاده میکنه حالا اگر فایل لیسانس را تغییر دادید و تغییرات را ریفرش کردید و ندیدید به خاطر همین هست

    دو راه داره : apache را ری استارت کنید یا اینکه پارامتر دوم تابع api را 1 بزارید تا مجدد لیسانس را لود کنه


    درضمن اگر از api برای لیسانس استفاده می کنید در هر فایلی که توی پروژه هست باید اول با دستورات api لیسانس را لود کنید که این کار را با include کردن یک فایل که شامل دستورات لود کردن لیسانس هست میتوانید راحت انجام بدید.
     
  8. bahram.error

    bahram.error کاربر تازه وارد

    تاریخ عضویت:
    ‏25 ژوئن 2006
    نوشته ها:
    14
    تشکر شده:
    0
    من با zend کار نکردم.
    ولی با خوندن گفته هاتون سوالاتی برام پیش آمده
    1- منظور از encode کردن اسکریپت فقط encode کردن لیسانسه؟
    2- اگر قرار باشه یک پروژه مختص به یک دامنه خاص باشه پس opensource چی میشه؟
    3- من که دسترسی به php.ini ندارم آدرس فایلهای لیسانس رو از کجا بگیرم؟ ضمن اینکه ممکنه این پروژه من روی صدها سرور مختلف نصب و اجرا بشه.
    4- .... :(

    لطفاً کاملتر توضیح بدین.
    یعنی پروژه ای مثل vBulletin رو میشه با یک فایل لیسانس بست. طوریکه کاربر ملزم بشه از خود ما بخرش؟
     
  9. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,146
    تشکر شده:
    1,226
    منظور از انکود کردن یعنی تمام فایل های php را کد کنید یا فایل هایی که در پروژه کلیدی هستند و پروژه بدون اون فایل ها کار نمیکنه را کد کنید. انکود کردن جدا از لیسانس هستش و فایل های انکود شده با توجه به تنظیماتی که بالا گفتم میتوانند بدون لیسانس هم استفاده بشن :) مثلا شما نمی خوای محدودیت خاصی بزاری ولی فقط میخواد کدهایی که نوشتی را دست کسی ندی صرفا ازش استفاده کنند .


    کلا بحث ما این نیست صحبت ما استفاده از این قابلیت هست برای کسایی که نیاز دارند !
    من هم به این اعتقاد دارم که هروقت لازم بود استفاده کنید نه اینکه دوخط برنامه نوشتید انکود کنید به کسی ندید :)


    اگر دسترسی به php.ini ندارید از php info استفاده کنید به قسمت zend optimizer به روید و اونجا آدرس دایرکتوری فایل های لیسانس نوشته شده
    شما میتوانید فایل لیسانس و اسکریپتتان را روی هزارتا سرور هم استفاده کنید فقط باید zend optimizer روی سرور نصب شده باشد

    درصورتیکه کلا دسترسی دایرکتوری فایل های لیسانس ندارید از api برای load کردن فایل لیسانس استفاده کنید.

    صرفا نه پروژه ای که نام بردی چون من نمیتوانم راجبش نظر بدم ولی تا اونجایی که خودم استفاده کردم بله راحت میتوانید پروژه های بزرگ را با این روش لیسانس گذاری کنید .
    کلا اعتبار شرکت Zend پشت این نرم افزار هستش و قیمت این نرم افزار هم بسیار گرون هستش و کسایی که میخرن حتما پروژه با ارزشی برای لیسانس گذاری دارند و پول بیخودی به شرکت zend نمیدن :)
     
  10. bahram.error

    bahram.error کاربر تازه وارد

    تاریخ عضویت:
    ‏25 ژوئن 2006
    نوشته ها:
    14
    تشکر شده:
    0
    مرسی از جوابها
    فقط اینکه zend روی چند درصد سرورها نصب هست؟
     
  11. shahkey

    shahkey Registered User

    تاریخ عضویت:
    ‏16 نوامبر 2005
    نوشته ها:
    1,232
    تشکر شده:
    4
    alik جان شما ورژن زندت جنده؟
     
  12. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,146
    تشکر شده:
    1,226
    تقریبا تا حالا هر سرور لینوکسی استفاده کردم zend optimizer داشته اگر هم نداشته باشد چون خیلی رایج هست فقط با یک ایمیل زدن براتان نصب میکنند.

    safe guard 4
     
  13. Parsisoft

    Parsisoft کاربر تازه وارد

    تاریخ عضویت:
    ‏23 اکتبر 2006
    نوشته ها:
    39
    تشکر شده:
    0
    ممکنه بخواهیم فایل حاوی کلاسمون رو encode کنیم ولی فایلی که از اون کلاس شی میسازه encode نباشه.
    چی کار کنیم؟
    آخه اگر کلاس encode باشه نمی تونه بخونش مگه اینکه خودش هم encode بشه:(
     
  14. Parsisoft

    Parsisoft کاربر تازه وارد

    تاریخ عضویت:
    ‏23 اکتبر 2006
    نوشته ها:
    39
    تشکر شده:
    0
عسل طبیعی و گرده گل ایرانی