battles/ekr.php

65 lines
3.0 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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
// неправильно составлен запрос
//}
?>