ОБСУЖДЕНИЕ

Привязка скрипта к домену

39 сообщений1 просмотровОткрыта
#1
Приветствую!
Кто пишет на php, наверняка иногда сталкивались, или столкнутся с вопросом "Как привязать скрипт к 1 домену".
Вот интересует какие методы кто использует для этой цели?

Оптимальным вариантом на данный момент для себя вижу привязку к домену+ip сервера.
Таким образом будет с проданного скрипта запрос на сервер продавца, сверятся данные лицензии и выдаваться ответ..

Код на сайте продавца примерно такой:

PHP
// например лицензия для сайта - это md5 хэш $_SERVER['REMOTE_ADDR'] и $_SERVER['SERVER_NAME']
// С купленного скрипта передается $SERVER_NAME - домен с которого идет отправка и $lic - лицензия которую мы дали покупателю...

// формируем лицензию 
$lic_control = md5($SERVER_NAME.$_SERVER['REMOTE_ADDR']);
if($lic_control != $lic)
{ // если лицензия не совпадает с выданной, то сразу даем ответ FALSE, который говорит скрипту что   не верная лицензия

return FALSE;
exit; // Дальше нет смысла что либо обрабатывать
}
else
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `имя базы где записаны выданные лицензии`  WHERE 

`site` = $SERVER_NAME AND `site_ip` = $_SERVER['REMOTE_ADDR'] AND `lic` = $lic_control;

"), 0))
{
/*
поля в таблице:
site - адрес сайта предоставлен в виде $_SERVER['SERVER_NAME'] сайта покупателя
site_ip - ip сервера покупателя
lic - лицензия которую дали покупателю
*/

// Если все нормально - выдаем   TRUE (лицензия действительна)
return TRUE;
}
else return FALSE; // В противном случае





Как идет принцип обработки данных на сайте покупателя думаю понятен и не требует примера кода...
#2
Добавь в коды, позже мне понадобится. Буду благодарен )))))
#3
~_SMART_~, та рано пока, может кто еще что предложет.. позже как по времени и по желанию получится, на своем сайте полноценный рабочий код в качестве примера приведу.. этот код как пример, даже переменные не фильтровал
#4
Если не понятно зачем привязка IP, и запрос на сервер, если можно просто на сайте покупателя написать

BASH
if('ардес на который выдалась лицензия' != $_SERVER['SERVER_NAME'])
{
echo'Не верная лицензия для сайта!';
exit;
}


Такой код в принципе тоже работать будет, но обойти его очень просто.. Достаточно просто переопределить $_SERVER['SERVER_NAME']

К примеру
CODE

$_SERVER['SERVER_NAME'] = 'адрес сайта который допускается для работы скрипта';
include 'файл с выше написанным кодом.php';




И такой пример будет работать на любом сайте...
#5
У меня по другому и проще,шифрование md5 двойное + соль + домен
#6
bage ранше обменник продавал там тоже скрипт к домену крепился, насколько я помню
#7
bage, выложи пример... Мне кажется что не надежный твой метод и можно обойти как показал в примере в 3 посте.

P.S. Я не утверждаю, просто предполагаю... Самому просто не охота эти качели писать + отправка запросов на свой хост...
#8
ага,сервер продавца лег/домен умер... весело будет)))
#9
пока на это внимание не обращаем...
Но если все же .. Можно проверку делать при установке скрипта, потом проверять например 1 раз в 5 дней..
Можно что бы скрипт если не соответствие лицензии то просто отсылал продав we например на имейл уведомление что на таком то сайте стоит модуль с неверной лицензией..
а для блокировки можно сделать блэк лист например, на который модуль так же будет периодически отсылать запросы и проверять, нет ли сайта с которого идет запрос в этом листе.. Если ответ TRUE (ну хз, можно какой то ключ там придумать) тогда идет блокировка модуля.
#10
PHP

<?php
$lic = parse_ini_file('license.ini');#файл с ключом - значение key к примеру
$salt = 'abc123';#соль
$md5 = md5(md5($_SERVER['SERVER_NAME'].$salt));#шифруем
if ($md5 != $lic['key']){
echo 'Нет лицензии';
exit;
}
#и этот код шифруем к примеру в ioncube
?>
#11
обойди ;-) расшифровать md5 двоичное с солью...думаю ты пошутил :)
#12
А если так
PHP
<?php
//Ну а так будет работать на сайте Васи Пупина?=))

$_SERVER['SERVER_NAME'] = 'мой адрес'; // например на него ты и продавал скрипт

$lic = parse_ini_file('license.ini');#файл с ключом - значение key к примеру
$salt = 'abc123';#соль
$md5 = md5(md5($_SERVER['SERVER_NAME'].$salt));#шифруем
if ($md5 != $lic['key']){
echo 'Нет лицензии';
exit;
}
#и этот код шифруем к примеру в ioncube
?>
#13
та расшифровать понятно что не вариант... Просто перед скриптом переопределяю переменную, и гоу продавать твой скрипт на лево и на право)))))
#14
#и этот код шифруем к примеру в ioncube
#15
Valen, не совсем понял зачем проверять то? можно сделать гораздо проще. например при покупке скрипта шифруется адрес на какой куплен скрипт. и тогда уже проверка идет на сервере покупателя.расшифровать конечно можно,но и можно убрать проверку. думаю понял к чему я веду
#16
да хоть чем угодно...
что мешает просто переопределить переменную например перед инклудом файла с твоим модулем (интересует сейчас как раз этот вариант а не отдельно работающий не зависимый мод)
#17
Valen, Нет,ты совсем меня не понимаешь,давай сейчас дам тебе скрипт мой с таким алгоритмом шифрования и ты его своим способом его вскроешь?
#18
писал в 3 посту почему...
Пост выше этого, 3 раз в различной форме повторил
#19
bage, ну хз, может что не так понимаю.. Давай попробуем, только сделай там просто пару тестовых страничек, без лишнего хлама, просто для эксперимента
#20
Valen, http://protection.vipux.ru/files/v54.zip
Страница 1 из 2 · Всего записей: 39