battles/ekr.php

65 lines
3.0 KiB
PHP
Raw Normal View History

2018-01-28 16:40:49 +00:00
<?php
include 'config.php';
// the function returns an MD5 of parameters passed
// функция возвращает MD5 переданных ей параметров
function ref_sign() {
$params = func_get_args();
$prehash = implode("::", $params);
return md5($prehash);
}
// filtering junk off acquired parameters
// парсим полученные параметры на предмет мусора
foreach($_REQUEST as $request_key => $request_value) {
$_REQUEST[$request_key] = substr(strip_tags(trim($request_value)), 0, 250);
}
// service secret code
// секретный код сервиса
$secret_code = "cnfhsqrke,";
// collecting required data
// собираем необходимые данные
$purse = $_REQUEST["s_purse"]; // sms:bank id идентификатор смс:банка
$order_id = $_REQUEST["s_order_id"]; // operation id идентификатор операции
$amount = $_REQUEST["s_amount"]; // transaction sum сумма транзакции
$clear_amount = $_REQUEST["s_clear_amount"]; // billing algorithm алгоритм подсчета стоимости
$inv = $_REQUEST["s_inv"]; // operation number номер операции
$phone = $_REQUEST["s_phone"]; // phone number номер телефона
$sign = $_REQUEST["s_sign_v2"]; // signature подпись
// making the reference signature
// создаем эталонную подпись
$reference = ref_sign($secret_code, $purse, $order_id, $amount, $clear_amount, $inv, $phone);
// validating the signature
// проверяем, верна ли подпись
if($sign == $reference) {
// success, proceeding
// обрабатываем полученные данные
$thing = substr($order_id,0,3);
$owner = substr($order_id,3,strlen($order_id)-3);
switch ($thing) {
case "101":
mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`img`) values ('{$owner}','Раритетная открытка', 200, 1,'card03.gif');");
break;
case "102":
mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`minu`,`maxu`,`img`) values ('{$owner}','Ель', 3, 1,1,3,'el1.gif');");
break;
case "103":
mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`minu`,`maxu`,`img`) values ('{$owner}','Ель с игрушками', 3, 1,1,5,'elka_w2.gif');");
break;
case "104":
mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`img`) values ('{$owner}','Сувенир <Сфера БК>', 200, 1,'shar6.gif');");
break;
case "105":
mysql_query("INSERT INTO `inventory` (`owner`,`name`, `type`,`maxdur`,`img`,`goden`,`dategoden`,`magic`) values ('{$owner}','Бутерброд &quot;Новогодний&quot;', 50, 5,'food_l8.gif','15','".(time()+1296000)."',8);");
break;
}
}
// else {
// failure, reporting error
// неправильно составлен запрос
//}
?>