RPC для вызова keygen
От: nen777w  
Дата: 22.02.19 08:38
Оценка:
Добрый час!

У меня есть сервер где есть некий php скрипт который при вызове его генерирует серийный номер и отдает его сайту-партнеру который продает мое приложение.
Что бы кто угодно не смог получить ключ просто так, его вызов допускается только из определенных IP адресов.
Но сейчас нашелся партнер который говорит что у него нет постоянного IP адреса.. Как быть в таком случае?
Спросил у него он говорит: "if you know how to create a license salt, we can add that and process the parameter <hash> for added security"
Но я не очень понимаю как эта схема должна работать, что он имеет в виду?
Правки в сам генератор ключей и код который проверят номер на строне приложение я вносить не хочу.
Отредактировано 22.02.2019 8:38 nen777w . Предыдущая версия .
Re: RPC для вызова keygen
От: rudzuk  
Дата: 22.02.19 08:46
Оценка:
Здравствуйте, nen777w, Вы писали:


n> Но сейчас нашелся партнер который говорит что у него нет постоянного IP адреса.. Как быть в таком случае?


Резолвить домен по адресу?
avalon/2.0.6
Re: RPC для вызова keygen
От: Tee Moore  
Дата: 22.02.19 09:05
Оценка: +1
Здравствуйте, nen777w, Вы писали:

N>Добрый час!


N>У меня есть сервер где есть некий php скрипт который при вызове его генерирует серийный номер и отдает его сайту-партнеру который продает мое приложение.

N>Что бы кто угодно не смог получить ключ просто так, его вызов допускается только из определенных IP адресов.
N>Но сейчас нашелся партнер который говорит что у него нет постоянного IP адреса.. Как быть в таком случае?
N>Спросил у него он говорит: "if you know how to create a license salt, we can add that and process the parameter <hash> for added security"
N>Но я не очень понимаю как эта схема должна работать, что он имеет в виду?
N>Правки в сам генератор ключей и код который проверят номер на строне приложение я вносить не хочу.


Написать ещё один php скрипт который будет принимать и проверять этот параметр, и если всё норм, то дергает первый скрипт и полученный ключ пересылает партнеру. Как то так
Re[2]: RPC для вызова keygen
От: nen777w  
Дата: 22.02.19 09:17
Оценка:
N>>У меня есть сервер где есть некий php скрипт который при вызове его генерирует серийный номер и отдает его сайту-партнеру который продает мое приложение.
N>>Что бы кто угодно не смог получить ключ просто так, его вызов допускается только из определенных IP адресов.
N>>Но сейчас нашелся партнер который говорит что у него нет постоянного IP адреса.. Как быть в таком случае?
N>>Спросил у него он говорит: "if you know how to create a license salt, we can add that and process the parameter <hash> for added security"
N>>Но я не очень понимаю как эта схема должна работать, что он имеет в виду?
N>>Правки в сам генератор ключей и код который проверят номер на строне приложение я вносить не хочу.


TM>Написать ещё один php скрипт который будет принимать и проверять этот параметр, и если всё норм, то дергает первый скрипт и полученный ключ пересылает партнеру. Как то так

Не очень понял.
Re[2]: RPC для вызова keygen
От: nen777w  
Дата: 22.02.19 09:18
Оценка:
n>> Но сейчас нашелся партнер который говорит что у него нет постоянного IP адреса.. Как быть в таком случае?

R>Резолвить домен по адресу?


Не факт что это будет один и тот же домен, хотя я спрошу конечно, но думаю что если и IP адреса разные то и домены тоже.
Re: RPC для вызова keygen
От: salnicoff  
Дата: 22.02.19 09:27
Оценка: 11 (3) +2
Здравствуйте, nen777w, Вы писали:

N>Добрый час!


N>У меня есть сервер где есть некий php скрипт который при вызове его генерирует серийный номер и отдает его сайту-партнеру который продает мое приложение.

N>Что бы кто угодно не смог получить ключ просто так, его вызов допускается только из определенных IP адресов.
N>Но сейчас нашелся партнер который говорит что у него нет постоянного IP адреса.. Как быть в таком случае?
N>Спросил у него он говорит: "if you know how to create a license salt, we can add that and process the parameter <hash> for added security"
N>Но я не очень понимаю как эта схема должна работать, что он имеет в виду?
N>Правки в сам генератор ключей и код который проверят номер на строне приложение я вносить не хочу.


Партнер передает следующую информацию:
1) Имя пользователя (P1)
2) Фамилия пользователя (P2)
3) E-mail пользователя (P3)
4) Хэш (P5)

Хэш считается как MD5(P1+P2+P3+P4), где P4 — некая строка ненулевой длины, о которой вы договорились заранее и которая не передается при запросе.

Логика работы Вашего скрипта:
1) берем параметры P1, P2, P3 из запроса, складываем в одну строку, приписываем в конец строки параметр P4, который хранится на Вашем сервере в скрытой папке;
2) считаем MD5 от полученной строки;
3) если полученный MD5 совпал с переданным параметром P5, то это партнер (генерируем ключ), если не совпал — объясняем, как пройти на три буквы.
Re[3]: RPC для вызова keygen
От: Tee Moore  
Дата: 22.02.19 09:33
Оценка:
TM>>Написать ещё один php скрипт который будет принимать и проверять этот параметр, и если всё норм, то дергает первый скрипт и полученный ключ пересылает партнеру. Как то так
N>Не очень понял.

Что бы второй скрипт работал как шлюз или как прокси между вашим партнером и вашим скриптом-кейгеном.
Re: RPC для вызова keygen
От: Шубин Евгений Россия http://erladvisor.blogspot.de/
Дата: 22.02.19 09:51
Оценка: +1
Здравствуйте, nen777w, Вы писали:

N>Добрый час!


N>У меня есть сервер где есть некий php скрипт который при вызове его генерирует серийный номер и отдает его сайту-партнеру который продает мое приложение.

N>Что бы кто угодно не смог получить ключ просто так, его вызов допускается только из определенных IP адресов.
N>Но сейчас нашелся партнер который говорит что у него нет постоянного IP адреса.. Как быть в таком случае?
N>Спросил у него он говорит: "if you know how to create a license salt, we can add that and process the parameter <hash> for added security"
N>Но я не очень понимаю как эта схема должна работать, что он имеет в виду?
N>Правки в сам генератор ключей и код который проверят номер на строне приложение я вносить не хочу.

Поставь перед сервисом nginx, который аутентифицирует клиента через basic http auth с паролем или по клиентскому ssl ключу.
Re[2]: RPC для вызова keygen
От: autopsist  
Дата: 22.02.19 20:32
Оценка:
Здравствуйте, salnicoff, Вы писали:

S>Здравствуйте, nen777w, Вы писали:


N>>Добрый час!


S>Партнер передает следующую информацию:

S>1) Имя пользователя (P1)
S>2) Фамилия пользователя (P2)
S>3) E-mail пользователя (P3)
S>4) Хэш (P5)

S>Хэш считается как MD5(P1+P2+P3+P4), где P4 — некая строка ненулевой длины, о которой вы договорились заранее и которая не передается при запросе.


S>Логика работы Вашего скрипта:

S>1) берем параметры P1, P2, P3 из запроса, складываем в одну строку, приписываем в конец строки параметр P4, который хранится на Вашем сервере в скрытой папке;
S>2) считаем MD5 от полученной строки;
S>3) если полученный MD5 совпал с переданным параметром P5, то это партнер (генерируем ключ), если не совпал — объясняем, как пройти на три буквы.

так чтоли?
if (md5('Ivanov Ivan iv@ivanoff.ru'+'password')==md5('Ivanov Ivan iv@ivanoff.ru'+'idontknowthepassword')) { echo 'F*ck, they are the same!';}
Re[3]: RPC для вызова keygen
От: salnicoff  
Дата: 24.02.19 07:44
Оценка: +1
Здравствуйте, autopsist, Вы писали:

A>так чтоли?

A>if (md5('Ivanov Ivan iv@ivanoff.ru'+'password')==md5('Ivanov Ivan iv@ivanoff.ru'+'idontknowthepassword')) { echo 'F*ck, they are the same!';}

Что-типа того, но не так сделано. Пассворд не надо передавать при каждом дергании скрипта.

На сервере с ключегенератором:
<?php
$p1=$_GET['name'];
$p2=$_GET['email'];
$p3=$_GET['thehash'];

$passwd='12345678password';

if (md5($p1.$p2.$passwd) == $p3)
{
  echo ('Делаем ключ на '.$p1.' и шлем на '.$p2);
} else
{
  echo ('Ну все поняли куда надо пойти...');
};
?>


У реселлера:
<?php
$passwd = '12345678password';

$p1 = get_client_name();
$p2 = get_client_email();
$p3 = md5($p1.$p2.$passwd);

$key = get_http_function('http://server.com/keygen.php?p1='.$p1.'&p2='.$p2.'&p3='.$p3);
?>
Отредактировано 24.02.2019 7:54 salnicoff . Предыдущая версия .
Re: RPC для вызова keygen
От: Aquilaware  
Дата: 28.02.19 11:21
Оценка:
Здравствуйте, nen777w, Вы писали:

N>Но сейчас нашелся партнер который говорит что у него нет постоянного IP адреса.. Как быть в таком случае?


Элементарно. Добавьте строковый параметр в вашу функцию и назовите его apiKey.

Затем, сгенерируйте для партнера его ключ доступа (просто случайная строка с энтропией >= 80 бит) и передайте ему.

А в функции, проверяйте этот ключ на соответствие.

Естественно, это всё поверх SSL.

Если без SSL, то тогда нужно использовать HTTP Digest Authentication.
Re[2]: RPC для вызова keygen
От: salnicoff  
Дата: 28.02.19 12:18
Оценка:
Здравствуйте, Aquilaware, Вы писали:

A>Если без SSL, то


... это уже не 2019 год на дворе.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.