رفتن به مطلب

روش های لایسنس گذاری روی کدها


پست های پیشنهاد شده

سلام و خسته نباشید خدمت همه

من برای گذاشتن لایسنس از این کد استفاده میکنم :


$behnam=file_get_contents("http://your-address.com/lic.txt");
$site=$_SERVER['SERVER_NAME'];
if(!strstr($behnam,$site)) die('<font color="red">لایسنس شما منقضی شده است . لطفا جهت خرید ، اقدام فرمایید</font>');

این روش مشکلی که داره اینه آدرس ها توی http://your-address.com/lic.txt مشخصه و همه میتونن ببینن

من میخوام کاری کنم که آدرس ها توی این فایل دیده نشه یعنی مثلا نوع فایل از txt تغییر بکنه به php که اگه مستقیم به این آدرس رفتیم صفحه سفید بیاد

ممنون میشم مبتدی کمکم کنید

ویرایش شده توسط beh9am
لینک به ارسال

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

وب سایت هایی که از خدمات شما می خوان استفاده کنن ، میان درخواست میدن یا عضو میشن و شما اطلاعاتشون رو توی یه جدول از دیتابیس ذخیره میکنید. یکی از ستون های اون جدول مربوط به لایسنس هستش.

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

پس شما چند نکته رو باید به خاطر بسپرید:

برای این کار باید از سرور خودتون استفاده کنید.

از فایل استفاده نکنید ، MySql بهتره.

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

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

لینک به ارسال

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

وب سایت هایی که از خدمات شما می خوان استفاده کنن ، میان درخواست میدن یا عضو میشن و شما اطلاعاتشون رو توی یه جدول از دیتابیس ذخیره میکنید. یکی از ستون های اون جدول مربوط به لایسنس هستش.

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

پس شما چند نکته رو باید به خاطر بسپرید:

برای این کار باید از سرور خودتون استفاده کنید.

از فایل استفاده نکنید ، MySql بهتره.

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

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

بله تشکر

برای من همین مورد هم کفایت میکنه فقطمشکلم دیدن لیست دامنه ها هست

میشه روشی بگید که بتونم استفاده بکنم ؟

ویرایش شده توسط beh9am
لینک به ارسال

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

بعد محتوای اون فایل php رو بگیرید و در صورتی که مثلا در خروجی پرینت کرده بود ok و احتمالا یک رمز دیگه شما بفهمید که می تونه کار رو ادامه بده و اگر نه die کنید.

بعد دومین های جدید رو به اون ارایه اضافه کنید.

موفق باشید.

لینک به ارسال

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

بعد محتوای اون فایل php رو بگیرید و در صورتی که مثلا در خروجی پرینت کرده بود ok و احتمالا یک رمز دیگه شما بفهمید که می تونه کار رو ادامه بده و اگر نه die کنید.

بعد دومین های جدید رو به اون ارایه اضافه کنید.

موفق باشید.

خوب الان دقیقا هیچی نفهمیدم

من تازه دارم یاد میگیرم اگر میشه مثالی کدی چیزی بدید

لینک به ارسال

مثلا نمونه کد برای فایل php سمت سرور :


<?php
$domains = array(
array(
'domain' => 'example.com',
'expiration' => '12-7-70', //ta in tarikh masalan
),
array(
'domain' => 'example2.com',
'expiration' => '12-7-70'
)
);
// ya be in soorat ( ya balayi ro be kar bebarid ya in )
$domains = array(
'domain' => 'example.com',
'domain' => 'example2.com',
'domain' => 'example3.com',
'domain' => 'example4.com'
);
// ba in code farakhani bokonid
if(isset($_GET['domainname'])){
$domaincheck = $_GET['domainname'];
if (trim($domaincheck) != '')
if(in_array( $domaincheck , $domains ))
echo 'ok';
}

?>

و سمت کاربر هم به این صورت:


<?php
$site=$_SERVER['SERVER_NAME'];
$behnam=file_get_contents("http://your-address.com/lic.php?domainname=" . $site);
if(!stristr($behnam,'ok')) die('<font color="red">لایسنس شما منقضی شده است . لطفا جهت خرید ، اقدام فرمایید</font>');
?>

البته به خاطر داشته باشید که کاربرتون به راحتی میتونه این کد رو دور بزنه ! و هدر دادن وقت هست.

موفق باشید.

لینک به ارسال

مثلا نمونه کد برای فایل php سمت سرور :


<?php
$domains = array(
array(
'domain' => 'example.com',
'expiration' => '12-7-70', //ta in tarikh masalan
),
array(
'domain' => 'example2.com',
'expiration' => '12-7-70'
)
);
// ya be in soorat ( ya balayi ro be kar bebarid ya in )
$domains = array(
'domain' => 'example.com',
'domain' => 'example2.com',
'domain' => 'example3.com',
'domain' => 'example4.com'
);
// ba in code farakhani bokonid
if(isset($_GET['domainname'])){
$domaincheck = $_GET['domainname'];
if (trim($domaincheck) != '')
if(in_array( $domaincheck , $domains ))
echo 'ok';
}

?>

و سمت کاربر هم به این صورت:


<?php
$site=$_SERVER['SERVER_NAME'];
$behnam=file_get_contents("http://your-address.com/lic.php?domainname=" . $site);
if(!stristr($behnam,'ok')) die('<font color="red">لایسنس شما منقضی شده است . لطفا جهت خرید ، اقدام فرمایید</font>');
?>

البته به خاطر داشته باشید که کاربرتون به راحتی میتونه این کد رو دور بزنه ! و هدر دادن وقت هست.

موفق باشید.

تشکر

بله میتونه دور بزنه اما روش های انکودینگ موثر نیستند ؟

یا روشی که بشه سختش کرد ؟

لینک به ارسال

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

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

موفق باشید.

لینک به ارسال

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

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

موفق باشید.

بله درسته

این که بخشی از کدها دست خودم باشه و تحویل ندم هم مد نظر داشتم اما فکر میکردم نمیشه چون php سمت سرور هست نمیشه روی سرور من باشه و تو سایت یکی دیگه کار کنه !

هر چیزی اومده ضدشم اومده ;)

جان ؟

لینک به ارسال

منظورم اینه شما هرکاری هم بکنید باز میشه دورش زد

اینجا بحث دور زدن نیست چون دلیل نمیشه چون دزد میتونه قفل رو بشکنه پس ما هم خونمون رو قفل نکنیم !!!

بیشتر جنبه آموزشی داره چون با همین مثال ساده بنده با آرایه در php آشنا شدم ...

لینک به ارسال

اینجا بحث دور زدن نیست چون دلیل نمیشه چون دزد میتونه قفل رو بشکنه پس ما هم خونمون رو قفل نکنیم !!!

بیشتر جنبه آموزشی داره چون با همین مثال ساده بنده با آرایه در php آشنا شدم ...

الآن مشکلتون در کجاست ؟

لینک به ارسال

الآن مشکلتون در کجاست ؟

تو پست های قبلیاشاره کردم روشی میخوام که بهتر باشه وبشه کدهارو در هاست خودم باشن

لینک به ارسال

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

موفق باشید.

/سلام. اگه میشه یه مثال واضح بزنید که چطوری محتوا رو از سرور خودمون بگیره و در مقابل محتوای متغییر رو برای طرف بارگذاری کنه؟/

لینک به ارسال
  • 2 سال بعد...
در 21 ساعت قبل، nikrasam گفته است :

سلام

ما یه سامانه مدیریت لایسنس برای این کار ساختیم به روش فوق العاده قوی و مطمئن

آدرس دمو : http://manage.nikrasam.com

با نام کاربری : admin
و رمز عبور :‌ 123456

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

لینک :

http://www.aparat.com/v/KITRn

در خدمت هستیم

پیام در تلگرام به آی دی : nikrsm@

سلام

بسیار سامانه خوبی هست ، هزینه چقدر میشه؟

و چطوری باید برای افزونه ها ، قالب ها استفاده کنیم؟

لینک به ارسال
  • 1 ماه بعد...

دوستان من اگه توی سرور خودم صحت لایسنس رو چک کنم و خروجی رو ارسال کنم، و سیستم به درستی کار کند

و کدهای سمت کاربر هم کد کنم که نتونه بهش دسترسی داشته باشه

حله؟

لینک به ارسال

این تاپیک قدیمی هست. اما چون موضوع جذابی هست، من اینجا چند نکته میگم که شاید به درد کسی بخوره.

توی php یا حتی زبان های دیگه مثل جاوا و سی شارپ کدها همیشه در دسترس هستند و حتی اگر نباشند هم باز میشه نرم افزار ها رو کرک کرد.

پس برای اینکه متضرر نشیم چیکار باید بکنیم؟

دقت کنید گفتم متضرر نشیم نگفتم کسی نتونه کرک کنه.

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

راه حل دیگه میتونه این باشه که مرتب محصولتون رو اپدیت کنید. این چیزیه که تیم های خارجی الان در پیش گرفتن و با دادن آپدیت کاربرا احساس می کنند اخرین نسخه بهترین نسخه هست در حالی که ممکن باگ های کوچکی رو فیکس کرده باشید یا اینکه یه قابلیت خیلی کم اهمیت اضافه کرده باشید. همچنین قابلیت های جدید رو به مرور اضافه کنید نه اینکه همه رو توی یه نسخه قرار بدید. همراه با هر آپدیت هم میتونید یکمی سیستم لایسنس گذاری تون رو تغییر بدید.

یه روش دیگه اینه که سیستم لایسنس گذاری ساده داشته باشید یا اصلا محصول رو رایگان عرضه کنید اما پشتیبانی قوی ارائه بدید. مثلا نصب رایگان و دیباگ و فروم پشتیبانی و غیره... که معمولا برای پروژه های بزرگ جواب میده. یا میشه قابلیت های خاصش پولی باشن که تجربه نشون داده قابلیت های جانبی خیلی سخت تر گیر میان توی اینترنت تا خود محصول.

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

لینک به ارسال
  • 2 سال بعد...

سلام، کسی نیست این قسمت لایسنس دامنه وابسته به تاریخ انقضا را کامل به همراه مثال توضیح دهد.

$domains = array(
array(
'domain' => 'example.com',
'expiration' => '12-7-70', //ta in tarikh masalan
),
array(
'domain' => 'example2.com',
'expiration' => '12-7-70'
)
);

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...