Написать три простых скрипта
Нужно написать три скрипта. Скрипты абсолютно несложные, но написать нужно очень чисто. Поэтому ищу ОПЫТНОГО кодера. Расписал всё очень подробно, в коде получится лишь чуть больше.
1). Скрипт 1:
Первый скрипт представляет собой отдельный файл, который инклудится
ко всем страницам сайта. Скрипт отслеживает url текущий страницы и массив $_GET.
При обращении к странице по ссылке вида:
http://site.ru/page_xxx.php?user_id=206&key=53533321&tburl=http://google.com
извлекаем из $_GET массива user_id, key, tburl
(параметры key и tburl могут отсутствовать)
вносим их в куки с именем mobpays и длительностью в час.
setcookie ("mobpays[user_id]", "206", time() + 3600);
setcookie ("mobpays[key]", "535333213", time() + 3600);
setcookie ("mobpays[tburl]", "http://google.com", time() + 3600);
после чего перенаправляем пользователя на эту же страницу,
но без параметров
Если текущая страница имеет вид:
http://sitename.ru/foldername/download/940
отправляем скрипту N2, который расположен на другом сервере
POST запрос с данными
g_id (в примере 940)
user_id (в примере 206)
key (в примере 535333213)
tburl (http://google.com),
которые извлекаем из кук.
Скрипт номер 2 вернёт url, по которому редиректим пользователя.
2). Скрипт 2. Сервер на котором будет работать скрипт - под Виндой.
Учтите при разработке.
Получаем $_POST переданный первым скриптом.
g_id
user_id
key
tburl
и реферер.
Если параметр user_id - пустой - присваем значение 1.
Если key пустой - присваиваем значение 33333333
g_id Пустым быть не может. Но если вдруг такое произошло,
редиректим на главную страницу сайта с которого пришёл запрос
(смотрим по рефереру).
tburl может быть пустым.
Определяем страну посетителя через GeoLite Country от Maxmind
http://www.maxmind.com/app/country
API там уже готовое. Только подлючить к скрипту:
http://www.maxmind.com/app/php
Нас интересует четыре страны:
RU,UA,BY,KZ
Если посетитель не из одной из них - редиректим его по
tburl. Если tburl пустой - выкидываем сообщение об ошибке
"Скачивание из вашей страны запрещено".
Препарируем key. Его длина - строго 8 символов.
Чётные символы могут быть нулями, нечётные - нет.
Если страна:
Россия - получаем первую и вторую цифры в key
Украина - получаем 3 и 4 цифры в key
Беларусь - получаем 5 и 6 цифры в key
Казахстан - получаем 7 и 8 в key
Итого у нас на руках переменная g_id
и две цифры, назовём n1 и n2.
В этих цифрах "закодирован" номер, на который потом
пойдут премиум смс.
Используя эту маленькую табличку соответствия определяем номер первой
и второй смс.
ru
5:7781
3:1161
1:1151
ua
5:5537
3:3545
1:1141
by
3:5014
kz
3:7790
2:7750
1:7730
К примеру, страна RU
key=535333213
Значит
n1=5
n2=3
значит
sms_number1 -> 7781
sms_number2 -> 1161
Если n2=0, то sms_number2 отсутствует.
n1 равным нулю быть не может.
Итого "на руках" у нас следующие параметры:
user_id
g_id
sms_number1
sms_number2
Вызываем с этими переменными параметрами
(и ещё тремя постоянными, которые я укажу)
программу soft.exe через php_exec()
Один из "постоянных" параметров, независящих от
переданных - путь и название выходного файла.
Программа фактически создаёт спецархив по этим параметрам.
Второй скрипт возращает http путь к свежесозданному архиву.
3). Третий скрипт совсем простой.
В настройках - путь к папке в которой мы будем штапмовать
архивы вторым скриптом.
По запуску скрипта - удаляем все файлы в указанной папке,
которые были созданы более часа назад. (filemtime())
Наличие у исполнителя аськи обязательно.
Оплата в WMZ или в WMR на моё усмотрение.
Даю полную предоплату под кодом протекции,
после проверки скриптов - отдаю код.
В личку/аську мне не писать - выберу исполнителя и обращусь сам.
Обязательно указываем срок и цену.