PDA

View Full Version : پیش فرض Php - اجرای تابع یا کد پی اچ پی با استفاده از curl



classic-
جمعه 05 آذر 1395, 17:17 عصر
سلام و خسته نباشید

من برای فروشگاه ساز اپن کارت پلاگین می نویسم و اون ها رو جهت فروش عمومی قرار می دم. مشکلی که هست بعضی افراد بعد از خرید پلاگین ها، اون ها رو در سایت های فروش قالب و پلاگین قرار میدن.
برای جلوگیری از این مشکل، به فکر افزودن لایسنس به پلاگین ها افتادم، تا حداقل جلو افراد مبتدی که آشنایی با کدها ندارند، گرفته بشه. (تا جایی که امکانش باشه سعی دارم فایل های پلاگین رو کد نکنم.)

چیزی که فعلا تا اینجا آماده کردم (کدها در پایین) به این شرح است که با استفاده از curl نام دامین مشتری و کد لایسنسی که وارد کرده به سایت ما ارسال میشه،
اگر اطلاعات در دیتابیس ما وجود داشته باشه، برای مشتری مثلا می نویسه: "لایسنس معتبر است."، اگر هم پیدا نشد: "لایسنس معتبر نیست."

حالا سوالی که از اساتید دارم اینه که امکانش هست یه قسمت از پلاگین در هاست ما نگهداری بشه و در صورتی که لایسنس معتبر بود، اجرا بشه؟ تا در صورتی که لایسنس نامعتبر بود یا کدهای مربوط به چک کردن لایسنس در پلاگین، توسط مشتری حذف شد، پلاگین کار نکنه؟

کدی که در سایت ما هست:
نمایش کد در سایت پیست کد: check.php (http://pastecode.ir/?p=1053)


public function check(){
if (isset($_POST['server'])){
$server = $_POST['server'];
$license = $_POST['license'];

$sql = "SELECT * FROM auth WHERE license='$license' LIMIT 1";
$query = $this->db->query($sql);

if($query->num_rows == 0){
/*
اگر لایسنس در دیتابیس ما پیدا نشد
*/
echo "failed";
} else {
foreach($query->rows as $result){
$dserver = $result["server"];
}
if($dserver == "undefined"){
/*
اگر لایسنس در دیتابیس ما وجود دارد و هنوز دامنه ای برای آن تعریف نشده، دامنه را برای لایسنس تعریف کن
*/
$sql = "UPDATE auth SET dinstalled=now(), server='$server' LIMIT 1";
$this->db->query($sql);
echo "verified";
} elseif($dserver == $server){
/*
اگر لایسنس و دامنه در دیتابیس ما موجود است
*/
echo "verified";
} else {
/*
اگر لایسنس وجود دارد ولی برای این دامنه نیست
*/
echo "failed";
}
}
}
}



کدی که در پلاگین هست:
نمایش کد در سایت پیست کد: customer.php (http://pastecode.ir/?p=1054)

$license = "22";
$server = $_SERVER["SERVER_NAME"];
$c = curl_init();
curl_setopt($c, CURLOPT_URL, "http://localhost/opencart/english/2101/index.php?route=manage/lic/check");
curl_setopt($c, CURLOPT_TIMEOUT, 30);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$postfields = 'server='.$server.'&license='.$license;
curl_setopt($c, CURLOPT_POSTFIELDS, $postfields);
$result = curl_exec($c);
if ($result=="failed") {
echo 'لایسنس مورد قبول نیست.';
}

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

با تشکر