misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
Всем привет, подскажите пожалуйста, есть ли на этой странице какая ни будь пакость?
Код:
<?
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();
$cena = 10; //Стоимость отправки сообщения пользователю
$cena_ref = 25;// Стоимость отправки сообщения рефералам!
?>
<div class="s-bk-lf"><div class="acc-title">Внутреняя почта</div></div>
<?
$db->Query("SELECT * FROM wmrush_pm WHERE user_id_in = '$usid' AND status = 0 AND inbox = 1");
$sk = $db->NumRows();
if ($sk > 0) {$pmm = '<font color="red">('.$sk.')</font>';} else {$pmm = '<font color="red">(0)</font>';}
?>
<div class="silver-bk"><div class="clr"></div>
<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
<tr>
<td align="center" class="m-tb"><a style='color:white;' href='/account/pm/'>Написать Письмо</a></td>
<td align="center" class="m-tb"><a style='color:white;' href='/account/pm/inbox/'>Входящие<?=$pmm; ?></a></td>
<td align="center" class="m-tb"><a style='color:white;' href='/account/pm/outbox/'>Исходящие</a></td>
<td align="center" class="m-tb"><a style='color:white;' href='/account/pm/referals/'>Рассылка всем рефералам</a></td>
</tr>
</table>
<?
/////////////////////////////////////////////////############### ВХОДЯЩИЕ СООБЩЕНИЯ ###################///////////////////////////////////////////////
if (isset($_GET['inbox'])) {
if(isset($_POST['tema1'])) {
$tema1 = htmlspecialchars($_POST['tema1']);
$text1 = htmlspecialchars($_POST['message1']);
$user = htmlspecialchars($_POST['to_user1']);
$db->Query("SELECT * FROM db_users_a WHERE user = '$user'");
$use = $db->FetchArray();
$us_in = $use['id'];
$date = time();
if(!empty($tema1)) {
if(!empty($text1)) {
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox) VALUES ('$us_in', '$user', '$usid', '$usname', '$tema1', '$text1', '$status', '$date', 1)");
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, outbox) VALUES ('$us_in', '$user', '$usid', '$usname', '$tema1', '$text1', '$status', '$date', 1)");
$db->Query("UPDATE db_users_b SET money_b = money_b - '$cena' WHERE id = '$usid'");
// echo $tema1;
echo 'Ваше сообщение отправленно';
}else echo '<center><font color="red">Введите текст сообщения</font></center>';
}else echo '<center><font color="red">Введите тему сообщения</font></center>';
}
if (isset($_POST['tm'])) {
?>
<form method="post" action="">
<label>Пользователь(логин)</label><br>
<input value="<?=$_POST['log']; ?>" type="text" size="20" maxlength="50" disabled /><br>
<input name="to_user1" value="<?=$_POST['log']; ?>" type="hidden" size="20" maxlength="50" /><br>
<label>Тема сообщения (до 150 символов)</label><br>
<input value="RE: <?=$_POST['tm']; ?>" type="text" size="20" maxlength="150" disabled /><br>
<input name="tema1" value="RE: <?=$_POST['tm']; ?>" type="hidden" size="20" maxlength="150" />
<label>Текст сообщения</label><br>
<textarea name="message1" rows="5" cols="40"></textarea>
<br />
<input type="submit" name="sendd" value="Отправить сообщение" />
</form>
<tr align="right"><td colspan="2"><font size="1"><a href="https://servahoc.ru/redirect.php?url=http://./" target="_blank">Powered By .</a></font></tr>
<?
}
if(isset($_POST['id_dell_in'])) {
$id_dell_in = intval($_POST['id_dell_in']);
$db->Query("DELETE FROM wmrush_pm WHERE id = '$id_dell_in' AND user_id_in = '$usid'");
echo '<center>Сообщение удалено</center><br>';
}
if (isset($_POST['id_in'])) {
$id_in = intval($_POST['id_in']);
$db->Query("UPDATE wmrush_pm SET status = 1 WHERE id = '$id_in'");
$db->Query("SELECT * FROM wmrush_pm WHERE id = '$id_in' AND user_id_in = '$usid'");
$inn = $db->FetchArray();
?>
<br>
<table style="border-collapse:collapse;width:100%;"><tbody><tr><td><br></td><td>
<b>Отправитель</b> - <?=$inn['login_out']; ?> | <?=date('d-m-Y - H:i', $in['date']); ?><br>
<b>Тема</b> - <?=$inn['theme']; ?><br>
<b>Текст письма</b><br>
<?=$inn['text']; ?><br><br>
<hr>
</td></tr></tbody></table>
<form method="post" action="">
<input type="hidden" name="tm" value="<?=$inn['theme']; ?>">
<input type="hidden" name="log" value="<?=$inn['login_out']; ?>">
<input type="submit" value="Ответить">
</form>
<tr align="right"><td colspan="2"><font size="1"><a href="https://servahoc.ru/redirect.php?url=http://./" target="_blank">Powered By .</a></font></tr>
</div><br>
<?
}
$db->Query("SELECT * FROM wmrush_pm WHERE user_id_in = '$usid' AND inbox = 1 ORDER BY id DESC LIMIT 30");
if($db->NumRows() == 0) {
echo '<center>Нет входящих сообщений</center>';
?>
<tr align="right"><td colspan="2"><font size="1"><a href="https://servahoc.ru/redirect.php?url=http://./" target="_blank">Powered By .</a></font></tr>
<?
}
while($in = $db->FetchArray()) {
?>
<table style="border-collapse:collapse;width:100%;"><tbody><tr><td><br></td><td>
</td></tr></tbody></table>
<table width='97%'>
<tr bgcolor="#336633">
<td align='center'>ID</td>
<td align='center'>Отправитель</td>
<td align='center'>Тема</td>
<td align='center'>Дата</td>
<td align='center'>Функция</td>
</tr>
<tr
bgcolor="grey">
<td align='center'>#<?=$in['id']; ?><br>
<?
if ($in['status'] == 0) echo '<font color="red">NEW</font>';
?>
</td>
<td align='center'><?=$in['login_out']; ?></td>
<td align='center'><?=$in['theme']; ?></td>
<td align='center'><?=date('d-m-Y - H:i', $in['date']); ?></td>
<td align='center'>
<form action="" method="post"><input type="hidden" name="id_in" value="<?=$in['id']; ?>"><input type="submit" name="outbox" value="Просмотр"></form><br>
<form action="" method="post"><input type="hidden" name="id_dell_in" value="<?=$in['id']; ?>"><input type="hidden" name="del" value="yes"><input type="submit" name="outbox" value="Удалить"></form>
</td>
</tr>
<tr align="right"><td colspan="2"><font size="1"><a href="https://servahoc.ru/redirect.php?url=http://./" target="_blank">Powered By .</a></font></tr>
</table>
<?
}
/////////////////////////////////////////////////############### ИСХОДЯЩИЕ СООБЩЕНИЯ ###################///////////////////////////////////////////////
}elseif (isset($_GET['outbox'])) {
if(isset($_POST['id_dell_in'])) {
$id_dell_in = intval($_POST['id_dell_in']);
$db->Query("DELETE FROM wmrush_pm WHERE id = '$id_dell_in' AND user_id_out = '$usid'");
echo '<center>Сообщение удалено</center><br>';
}
if (isset($_POST['id_in'])) {
$id_in = intval($_POST['id_in']);
$db->Query("SELECT * FROM wmrush_pm WHERE id = '$id_in' AND user_id_out = '$usid'");
$inn = $db->FetchArray();
?>
<br>
<table style="border-collapse:collapse;width:100%;"><tbody><tr><td><br></td><td>
<b>Получатель</b> - <?=$inn['login_in']; ?> | <?=date('d-m-Y - H:i', $in['date']); ?><br>
<b>Тема</b> - <?=$inn['theme']; ?><br>
<b>Текст письма</b><br>
<?=$inn['text']; ?><br><br>
<hr>
</td></tr>
</tbody></table>
<tr align="right"><td colspan="2"><font size="1"><a href="https://servahoc.ru/redirect.php?url=http://./" target="_blank">Powered By .</a></font></tr>
</div><br>
<?
}
$db->Query("SELECT * FROM wmrush_pm WHERE user_id_out = '$usid' AND outbox = 1 ORDER BY id DESC LIMIT 30");
if($db->NumRows() == 0) {
echo '<center>Нет входящих сообщений</center>';
?>
<tr align="right"><td colspan="2"><font size="1"><a href="https://servahoc.ru/redirect.php?url=http://./" target="_blank">Powered By .</a></font></tr>
<?
}
while($in = $db->FetchArray()) {
?>
<table style="border-collapse:collapse;width:100%;"><tbody><tr><td><br></td><td>
</td></tr></tbody></table>
<table width='97%'>
<tr bgcolor="#336633">
<td align='center'>ID</td>
<td align='center'>Получатель</td>
<td align='center'>Тема</td>
<td align='center'>Дата</td>
<td align='center'>Функция</td>
</tr>
<tr
bgcolor="grey">
<td align='center'>#<?=$in['id']; ?></td>
<td align='center'><?=$in['login_in']; ?></td>
<td align='center'><?=$in['theme']; ?></td>
<td align='center'><?=date('d-m-Y - H:i', $in['date']); ?></td>
<td align='center'>
<form action="" method="post"><input type="hidden" name="id_in" value="<?=$in['id']; ?>"><input type="submit" name="outbox" value="Просмотр"></form><br>
<form action="" method="post"><input type="hidden" name="id_dell_in" value="<?=$in['id']; ?>"><input type="hidden" name="del" value="yes"><input type="submit" name="outbox" value="Удалить"></form>
</td>
</tr>
<tr align="right"><td colspan="2"><font size="1"><a href="https://servahoc.ru/redirect.php?url=http://./" target="_blank">Powered By .</a></font></tr>
</table>
<?
}
/////////////////////////////////////////////////############### СООБЩЕНИЯ РЕФЕРАЛАМ ###################///////////////////////////////////////////////
}elseif (isset($_GET['referals'])) {
$qq = time() - 86400; //Активные в течении суток
$ww = time() - 259200; // Активные в течении 3-х дней
$ee = time() - 604800; // Активные в течении недели
$rr = time() - 2629743; // Активные в течении месяца
$hh = $db->Query("SELECT
(SELECT COUNT(id) FROM db_users_a WHERE referer_id = '$usid') all_users,
(SELECT COUNT(id) FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$qq') all_insert,
(SELECT COUNT(id) FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$ww') all_payment,
(SELECT COUNT(id) FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$ee') new_users,
(SELECT COUNT(id) FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$rr') new_userss");
$ref_data = $db->FetchArray($hh);
if(isset($_POST['type'])) {
$type = intval($_POST['type']);
$text = htmlspecialchars($_POST['message']);
$tema = htmlspecialchars($_POST['tema']);
$date = time();
$status = 0;
if(!empty($tema)) {
if(!empty($text)) {
if(!empty($type)) {
if($ref_data['all_users'] !=0) {
if($type == 1) {
//$db->Query("SELECT * FROM db_users_a WHERE referer_id = '$usid'");
//while($reff = $db->FetchArray()) {
//for($i = 1; $i < $ref_data['all_users']; $i++) {
$con = mysql_connect($config->HostDB, $config->UserDB, $config->PassDB);
$cl = mysql_select_db($config->BaseDB, $con);
$qqqqq = mysql_query("SELECT * FROM db_users_a WHERE referer_id = '$usid'"); //All
while($reff = mysql_fetch_array($qqqqq)){
$rre = $reff['id'];
$r_log = $reff['user'];
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox) VALUES ('$rre', '$r_log', '$usid', '$usname', '$tema', '$text', '$status', '$date', 1)");
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, outbox) VALUES ('$rre', '$r_log', '$usid', '$usname', '$tema', '$text', '$status', '$date', 1)");
$db->Query("UPDATE db_users_b SET money_b = money_b - '$cena_ref' WHERE id = '$usid'");
//echo $cena_ref;
}
echo '<center><font color="green">Сообщения отправлены </font></center>';
//}
}elseif($type == 2) {
$con = mysql_connect($config->HostDB, $config->UserDB, $config->PassDB);
$cl = mysql_select_db($config->BaseDB, $con);
$qqqqq = mysql_query("SELECT * FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$qq' "); //Sutki
while($reff = mysql_fetch_array($qqqqq)){
$rre = $reff['id'];
$r_log = $reff['user'];
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox) VALUES ('$rre', '$r_log', '$usid', '$usname', '$tema', '$text', '$status', '$date', 1)");
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, outbox) VALUES ('$rre', '$r_log', '$usid', '$usname', '$tema', '$text', '$status', '$date', 1)");
$db->Query("UPDATE db_users_b SET money_b = money_b - '$cena_ref' WHERE id = '$usid'");
// echo $cena_ref;
}
echo '<center><font color="green">Сообщения отправлены </font></center>';
}elseif($type == 3) {
$con = mysql_connect($config->HostDB, $config->UserDB, $config->PassDB);
$cl = mysql_select_db($config->BaseDB, $con);
$qqqqq = mysql_query("SELECT * FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$ww'"); //3 Dnya
while($reff = mysql_fetch_array($qqqqq)){
$rre = $reff['id'];
$r_log = $reff['user'];
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox) VALUES ('$rre', '$r_log', '$usid', '$usname', '$tema', '$text', '$status', '$date', 1)");
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, outbox) VALUES ('$rre', '$r_log', '$usid', '$usname', '$tema', '$text', '$status', '$date', 1)");
$db->Query("UPDATE db_users_b SET money_b = money_b - '$cena_ref' WHERE id = '$usid'");
// echo $cena_ref;
}
echo '<center><font color="green">Сообщения отправлены </font></center>';
}elseif($type == 4){
$con = mysql_connect($config->HostDB, $config->UserDB, $config->PassDB);
$cl = mysql_select_db($config->BaseDB, $con);
$qqqqq = mysql_query("SELECT * FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$ee'"); //7 dney
while($reff = mysql_fetch_array($qqqqq)){
$rre = $reff['id'];
$r_log = $reff['user'];
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox) VALUES ('$rre', '$r_log', '$usid', '$usname', '$tema', '$text', '$status', '$date', 1)");
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, outbox) VALUES ('$rre', '$r_log', '$usid', '$usname', '$tema', '$text', '$status', '$date', 1)");
$db->Query("UPDATE db_users_b SET money_b = money_b - '$cena_ref' WHERE id = '$usid'");
// echo $cena_ref;
}
echo '<center><font color="green">Сообщения отправлены </font></center>';
}elseif($type == 5) {
$con = mysql_connect($config->HostDB, $config->UserDB, $config->PassDB);
$cl = mysql_select_db($config->BaseDB, $con);
$qqqqq = mysql_query("SELECT * FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$rr'"); //1 mesyac
while($reff = mysql_fetch_array($qqqqq)){
$rre = $reff['id'];
$r_log = $reff['user'];
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox) VALUES ('$rre', '$r_log', '$usid', '$usname', '$tema', '$text', '$status', '$date', 1)");
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, outbox) VALUES ('$rre', '$r_log', '$usid', '$usname', '$tema', '$text', '$status', '$date', 1)");
$db->Query("UPDATE db_users_b SET money_b = money_b - '$cena_ref' WHERE id = '$usid'");
// echo $cena_ref;
}
echo '<center><font color="green">Сообщения отправлены </font></center>';
}
}else echo '<center><font color="red">У Вас нет рефералов</font></center>';
}else echo '<center><font color="red">Выберите тип рассылки</font></center>';
}else echo '<center><font color="red">Введите текст сообщения</font></center>';
}else echo '<center><font color="red">Введите тему сообщения</font></center>';
}
?>
<br>
<table style="border-collapse:collapse;width:100%;"><tbody><tr><td><br></td><td>
Рассылка сообщений своим рефералам это:<br>
- Максимальная выгода с людей , что привлекли;<br>
- Вы сможете рассылать всем своим рефералам за раз;<br>
- Можно выбрать только самых активных рефералов;<br>
- Сообщения останутся в исходящих.<br>
<br>
Стоимость отправки 1 сообщение 1 рефералу - 25 C.
<br><br>
<?
?>
<form method="post" action="">
<label>Вид рассылки</label><br>
<select name="type" size="1">
<option value="1">Всем рефералам [<?=$ref_data['all_users']; ?>]</option>
<option value="2">Активным в течении 24 часов [<?=$ref_data['all_insert']; ?>]</option>
<option value="3">Активным в течении 3 суток [<?=$ref_data['all_payment']; ?>]</option>
<option value="4">Активным в течении 7 суток [<?=$ref_data['new_users']; ?>]</option>
<option value="5">Активным в течении месяца [<?=$ref_data['new_userss']; ?>]</option>
</select>
<br>
<label>Тема сообщения (до 150 символов)</label><br>
<input name="tema" value="" type="text" size="20" maxlength="150" /><br>
<label>Текст сообщения</label><br>
<textarea name="message" rows="5" cols="40"></textarea>
<br />
<input type="submit" name="send" value="Разослать сообщение" />
</form>
</td></tr>
<tr align="right"><td colspan="2"><font size="1"><a href="https://servahoc.ru/redirect.php?url=http://./" target="_blank">Powered By .</a></font></tr>
</tbody></table>
<?
/////////////////////////////////////////////////############### НОВОЕ СООБЩЕНИЯ ###################///////////////////////////////////////////////
} else {
if (isset($_POST['to_user'])) {
$to_user = htmlspecialchars($_POST['to_user']);
$theme = htmlspecialchars($_POST['tema']);
$text = htmlspecialchars($_POST['message']);
$status = 0;
$date = time();
$db->Query("SELECT * FROM db_users_a WHERE user = '$to_user'");
$kol = $db->NumRows();
$us = $db->FetchArray();
$us_in = $us['id'];
$login_in = $us['user'];
if($kol > 0) {
if($us['user'] != $usname) {
if(!empty($theme)) {
if(!empty($text)) {
if($cena <= $user_data['money_b']) {
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, inbox) VALUES ('$us_in', '$login_in', '$usid', '$usname', '$theme', '$text', '$status', '$date', 1)");
$db->Query("INSERT INTO wmrush_pm (user_id_in, login_in, user_id_out, login_out, theme, text, status, date, outbox) VALUES ('$us_in', '$login_in', '$usid', '$usname', '$theme', '$text', '$status', '$date', 1)");
$db->Query("UPDATE db_users_b SET money_b = money_b - '$cena' WHERE id = '$usid'");
echo '<center><font color="green">Ваше сообщение отправлено пользователю '.$login_in.'</font></center>';
}else echo '<center><font color="red">У вас не достаточно средств для отправки сообщения</font></center>';
}else echo '<center><font color="red">Введите текст сообщения</font></center>';
}else echo '<center><font color="red">Введите тему сообщения</font></center>';
}else echo '<center><font color="red">Нельзя отправлять сообщения самому себе</font></center>';
}else echo '<center><font color="red">Пользователя не существует</font></center>';
}
?>
<table style="border-collapse:collapse;width:100%;"><tbody><tr><td><br></td><td>
<br>
Запрещено:<br>
- Отправлять сообщения содержащие ненормативную лексику;<br>
- Оскорблять других пользователей проекта;<br>
- Отправлять сообщения рекламного характера;<br>
- Массовая отправка сообщений одного содержания.<br>
<br>
Стоимость отправки сообщения - 10 C.
<br><br>
<form method="post" action="">
<label>Пользователь(логин)</label><br>
<input name="to_user" value="" type="text" size="20" maxlength="50" /><br>
<label>Тема сообщения (до 150 символов)</label><br>
<input name="tema" value="" type="text" size="20" maxlength="150" /><br>
<label>Текст сообщения</label><br>
<textarea name="message" rows="5" cols="40"></textarea>
<br />
<input type="submit" name="send" value="Отправить сообщение" />
</form>
</td></tr>
<tr align="right"><td colspan="2"><font size="1"><a href="https://servahoc.ru/redirect.php?url=http://./" target="_blank">Powered By .</a></font></tr>
</tbody></table>
<? } ?>
</div><br>
</div>
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
Ничего интересного не заметил.
Только есть вопрос:
Почему везде используется глобальное подключение к базе, а в сообщениях рефералам происходит повторное подключение к базе
Зачем?
И я бы исправил в этом
Переменные all_insert, all_payment, new_users, new_userss - их нужно заменить на более понятные, т.к. они означают "все пополнения", "все_выплаты", "новые пользователи", "новые пользователи"соответственно. Это может ввести в заблуждение при доработки скрипта.
Их, желательно, обозвать как-то так: active_24h, active_3d, active_7d, active_30d - так будет понятно, что эти массивы содержат пользователей проявивших активность (авторизовавшихся на сайте) в течение определенного времени, в следствии чего потом будет проще работать со скриптом
Только есть вопрос:
Почему везде используется глобальное подключение к базе, а в сообщениях рефералам происходит повторное подключение к базе
Код:
$con = mysql_connect($config->HostDB, $config->UserDB, $config->PassDB);
$cl = mysql_select_db($config->BaseDB, $con);
И я бы исправил в этом
Код:
$qq = time() - 86400; //Активные в течении суток
$ww = time() - 259200; // Активные в течении 3-х дней
$ee = time() - 604800; // Активные в течении недели
$rr = time() - 2629743; // Активные в течении месяца
$hh = $db->Query("SELECT
(SELECT COUNT(id) FROM db_users_a WHERE referer_id = '$usid') all_users,
(SELECT COUNT(id) FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$qq') all_insert,
(SELECT COUNT(id) FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$ww') all_payment,
(SELECT COUNT(id) FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$ee') new_users,
(SELECT COUNT(id) FROM db_users_a WHERE referer_id = '$usid' AND date_login >= '$rr') new_userss");
Их, желательно, обозвать как-то так: active_24h, active_3d, active_7d, active_30d - так будет понятно, что эти массивы содержат пользователей проявивших активность (авторизовавшихся на сайте) в течение определенного времени, в следствии чего потом будет проще работать со скриптом
Последнее редактирование:
Remdev
Участник
- Сообщения
- 77
- Реакции
- 19
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
что есть?Remdev написал(а):Да, есть.
Remdev
Участник
- Сообщения
- 77
- Реакции
- 19
Пакость есть.pligin написал(а):что есть?
В общем виде эта пакость называется wm_rush
Более подробно в данном случае - недостаточная фильтрация данных
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
ты глубоко копнул - тут такая информация, обычно, никому не нужнаRemdev написал(а):Пакость есть.
В общем виде эта пакость называется wm_rush
Более подробно в данном случае - недостаточная фильтрация данных
misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
как сказал Remdev, недостаточная фильтрация данных и может привести к непредсказуемым последствиям, а кто-то может это использовать в "нехороших" целях.misterikl написал(а):Честно говоря да, интересует не ссылки и левые названия, а именно иньекции и не нужные обращения к базе.
misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
расскажи по-подробнееRemdev написал(а):Пакость есть.
В общем виде эта пакость называется wm_rush
Более подробно в данном случае - недостаточная фильтрация данных
misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
Ну допустим, я решил не использовать внутреннюю почту. Спасибо большое за помощь?
Но тогда надо поставить систему Тикетов, что бы пользователи могли обращаться в Суппорт, а тут есть что ни будь?
Но тогда надо поставить систему Тикетов, что бы пользователи могли обращаться в Суппорт, а тут есть что ни будь?
Код:
<?
if(isset($_SESSION['user_id'])){
if(isset($_POST['ans_go'])){
$id_m = $_POST['id_mes'];
$date = time();
$ans = $_POST['ans'];
$db->Query("INSERT INTO `ot_sup` (`id_mes`,`user`,`text`,`date`)VALUES('$id_m','$_SESSION[user]','$ans','$date')") or die(mysql_error());
echo "<span id='erorr' class='msgbox-error'>Тикет успешно создан.</span>";
$db->Query("UPDATE support SET status='0' WHERE id='$id_m'");
}
if(isset($_POST['submit_rit'])){
$tima = $_POST['title_g'];
$sod = $_POST['post_g'];
if($tima==""){$err[] = 'Заполните поле Тема';}
elseif($sod==""){$err[] = 'Заполните поле Содержание';}
$date = time();
if(empty($err)){
$db->Query("INSERT INTO `support` (`user`,`title`,`text`,`date`,`status`)VALUES('$_SESSION[user]','$tima','$sod','$date','0')") or die(mysql_error());
echo "<span id='erorr' class='msgbox-error'>Тикет успешно создан.</span>";
}else{
foreach($err AS $error)
echo "<span id='erorr' class='msgbox-error'>".$error."</span>";
}
}
?>
<script type="text/javascript" language="JavaScript">
$(document).ready(function(){
$("#addreply").click(function(){
$("#replyblock").fadeIn("slow");
document.getElementById('replybtn').innerHTML = "<span class='button-gray'>Ответить</span>";
});
})
function appendtag(text1, text2)
{
if ((document.selection))
{
document.surforder.ask_desc.focus();
document.surforder.document.selection.createRange().text = text1+document.surforder.document.selection.createRange().text+text2;
} else if(document.surforder.ask_desc.selectionStart != undefined) {
var element = document.surforder.ask_desc;
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.surforder.ask_desc.value += text1+text2;
}
function showclose()
{
$('#basic-modal-content').modal();
return false;
}
</script>
<script type='text/javascript' src='/js/jquery.simplemodal.js'></script>
<script type='text/javascript' src='/js/guibasic.js'></script>
<script type="text/javascript" language="JavaScript">
function ClearForm()
{
document.forms['mailform'].scount.value = 'Осталось 1500 символов';
}
function descchange(elem)
{
if (elem.value.length > 1500) {
elem.value = elem.value.substr(0,1500);
}
document.forms['mailform'].scount.value = 'Осталось '+(1500-elem.value.length)+' символов';
}
</script>
<section id="logged-in">
<div class="container">
<div class="row-fluid">
<div class="span12 well well-white">
<div class="row-fluid">
<div class="span12 text-center">
<hr />
</div>
</div>
<ul class="nav nav-tabs">
<li <?if(empty($_GET['type'])){?>class="active"<?}?>><a href="/?menu=support" data-toggle="tab">Создать запрос</a></li>
<li <?if(isset($_GET['type'])){?>class="active"<?}?>><a href="/?menu=support&type=all" data-toggle="tab">Мои тикеты</a></li>
</ul>
<?if(empty($_GET['type']) and empty($_GET['tiketid'])){?>
<div class="silver-bk">
<div class="tab-content">
<div class="tab-pane active" id="create-ticket">
<div class="row-fluid" style="">
<div class="span12">
<label class="control-label" for="title"><u>Прежде чем создать тикет, убедитесь, что нужной вам информации нет на сайте! Время ожидания ответа - до 24 часов!</u></label>
</div>
</div>
<div class="row-fluid" style="">
<div class="span12">
<form name="mailform" id="mailform" method="POST" action="">
<input size='40' type="text" name="title_g" value=''>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<label class="control-label" for="inputMessage">Содержание запроса:</label>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<textarea class="input-block-level" name="post_g" rows="6" cols='65' onkeyup="descchange(this);" placeholder="Как можно подробнее опишите вашу проблему. Например: если у вас проблема с платежом, то вам необходимо отправить название системы оплаты, дату, время, как пополняли (вручную или нет) и.т.д."></textarea>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<input class="scount input-block-level text-center" type="text" readonly="readonly" value="Осталось 1500 символов" maxlength="25" size="85" name="scount">
</div>
</div>
<div class="row-fluid">
<div class="span12">
<input class="btn btn-large btn-block" type='submit' name='submit_rit' value='Отправить' style="margin-top: 10px;" />
</form>
</div>
</div>
</div>
<?}if(isset($_GET['type'])and empty($_GET['tiketid'])){?>
<div class="silver-bk">
<table cellpadding='3' cellspacing='0' border='0' align='center' width="550" BGCOLOR="#FCF6C2" >
<thead>
<tr style='background:#804040; '>
<td style='border-radius:0px;color:#fff; text-align:center;'>
Тема
</td>
<td style='border-radius:0px;color:#fff; text-align:center;'>
Дата
</td>
<td style='border-radius:0px;color:#fff; text-align:center;'>
Статус
</td>
</tr>
</thead>
<tbody>
</div>
<?
$sup = $db->Query("SELECT id,title,date,status FROM support WHERE user='$_SESSION[user]' ORDER BY id DESC")or die(mysql_error());
while($_sup=$db->FetchArray($sup)){
if($_sup['status']=='0'){$ot = 'В очереди';}else{$ot = 'Прочитано';}
?>
<tr><td style='text-align:center;'><a href="/?menu=support&tiketid=<?=$_sup['id']?>"><?=$_sup['title']?></a></td>
<td style='text-align:center;'><?=date('M-d-Y h:i',$_sup['date'])?></td><td style='text-align:center;'><?=$ot?></td><td></td>
</tr>
<?}?>
</tbody>
</table>
<?}
if(isset($_GET['tiketid'])){
$tid = $_GET['tiketid'];
?>
<div class="silver-bk">
<?
$md = $db->Query("SELECT id,user,text,date FROM support WHERE id='$tid'")or die(mysql_error());
$remd= $db->FetchArray($md);
$idd = $remd['id'];
$user = $remd['user'];
$textd = $remd['text'];
$dat = $remd['date'];
?>
<center>
<div style='border:1px solid #660066;border-radius:5px; padding:3px; background:#fff;'>
<div><b><?=$_SESSION['user']?></b> (<?=date('M-d-Y h:i',$dat)?>)</div>
<hr>
<div style='min-height:40px;'><?=$textd?></div>
</div><br>
<?$md2 = $db->Query("SELECT user,text,date FROM ot_sup WHERE id_mes='$idd' ORDER BY id ASC")or die(mysql_error());
while($remd2= $db->FetchArray($md2)){
$idd2 = $remd2['id'];
$textd2 = $remd2['text'];
$dat2 = $remd2['date'];
?>
<div style='border:1px solid #660066;border-radius:5px; padding:3px; background:#fff;'>
<div><b><?=$remd2['user']?></b> (<?=date('M-d-Y h:i',$dat2)?>)</div>
<hr>
<div style='min-height:40px;'><?=$textd2?></div>
</div><br>
<?}?>
</center>
<br>
<center>
<form method="post" action="">
Ответить<br>
<textarea name="ans" rows="6" cols="50"></textarea><br><br>
<input type="hidden" name="id_mes" value='<?=$idd?>'>
<input type="submit" name='ans_go' value="Отправить" onclick="">
</form>
</center>
<?}?>
</div>
</div>
<div class="silver-bk">
<b>Вопрос:</b> Как начать играть ? <br>
<b>Ответ:</b> После регистрации в проекте, Вы переходите в раздел "Рынок Динозавров", где совершаете нужные покупки, собираете яйца, продаете - получаете серебро
<br><br>
<b>Вопрос:</b> Если я не пополнил баланс, могу ли я начать играть ?<br>
<b>Ответ:</b> Да, можете! Ежедневный бонус позволит Вам собрать немного серебра для покупки птиц<br><br>
<b>Вопрос:</b> Как пополнить баланс?<br>
<b>Ответ:</b> Баланс Вы можете пополнить в разделе "Вложить" любым удобным для Вас способом.<br><br>
<b>Вопрос:</b> Что такое верификация, и для чего она нужна ?<br>
<b>Ответ:</b> Верификация - это привязка Вашего номера кошелька к Вашему аккаунту по средствам мобильной связи. Верификация нужна для дополнительной безопасности Вашего аккаунта.
Логин указывается в формате Р2244668, "Р" заглавная английская.<br><br>
<b>Вопрос:</b> Я указал номер телефона, почему не приходит сообщение с кодом ?<br>
<b>Ответ</b>: Правильно указывайте формат телефона, он должен быть в международном формате, к примеру, для России это +7(номер телефона). Если Вы сделали все верно и код не приходит уже
долгое время, напишите подробный тикет, с указанием телефона.<br><br>
<b>Вопрос</b>: Что делать, если в разделе выплат указан чужой номер кошелька системы PAYEER ?<br>
<b>Ответ</b>: Самое первое, что стоит сделать - это ИЗМЕНИТЬ ПАРОЛЬ. Если данные не Ваши значит уже что то не так.
Тут 2 варианта. Первый - Вы мошенник, который хочет изменить номер кошелька на свой.
Второй - Ваши средства хотели забрать мошенники, в этом случае если Вы не проходили верификацию, а это сделали за Вас, пишите тикет с описанием проблемы,
если Вы проходили верификацию, но номер кошелька не Ваш, но номер мобильного Ваш, также пишете тикет с указанием проблемы, после чего заново
верифицируетесь в системе.<br><br>
<b>Вопрос</b>: Как мне вывести деньги из проекта ?<br>
<b>Ответ</b>: Вывести заработанное Вы можете в разделе "Вывести". Там присутствуют специальные формы для выплат.<br><br>
<b>Вопрос</b>: Как скоро я смогу начинать выводить деньги ?<br>
<b>Ответ</b>: Сразу после пополнения и покупки динозавров, в разделе "Вывести". Перед выводом средств вам нужно собрать яйца и обменять их на серебро!
<br><br>
<b>Вопрос</b>: Я пополнил счет, но деньги не пришли - что делать?<br>
<b>Ответ</b>: Ожидать. Скорость пополнения зависит от выбранного Вами способа оплаты. Поэтому время оплаты может варьироваться от 1 минуты до 2-х рабочих дней.
Прежде чем совершить платеж, ВНИМАТЕЛЬНО читайте условия перевода, или оплаты. Если Вы все сделали правильно но деньги все таки не дошли до Вашего счета,
тогда и только тогда пишите тикет, с полной информацией платежа(Платежная система, дата, время, сумма, номер перевода/транзакции, логин в игре).
<br><br>
<b>Вопрос</b>: Как можно еще зарабатывать серебро в проекте, кроме пополнения ?<br>
<b>Ответ</b>:
Серебро Вы можете заработать несколькими способами:<br>
1. Играя в игры<br>
2. Участвуя в конкурсе рефералов<br>
3. Ежедневный бонус<br>
В каждом соответствующем разделе есть подробное описание
<br><br>
<b>Вопрос</b>: Как мне привлечь рефералов?<br>
<b>Ответ</b>:
Вам нужно отправить свою реферальную ссылку<br>
(<img src="/img/piar-link.png" style="vertical-align:-2px; margin-right:5px;"><font color="#000;">http://dunozavar.com/?i=2</font>) пользователю, которого хотите пригласить. Как только он пополнит баланс - он будет считаться активным рефералом, и Вы получите за него баллы и серебро на ваш счет!<br>
http://dunozavar.com/account/referals - здесь можете отслеживать активность ваших рефералов!
<br><br>
<b>Вопрос</b>: Я хочу поменять реферала или реферера, как мне это сделать?<br>
<b>Ответ</b>:
К сожалению, эти данные менять нельзя! Если ваш друг не стал вашим рефералом после регистрации, значит он зарегистрировался не по вашей ссылке.
<br><br>
<b>Вопрос</b>: Уровни рефералов - это что?<br>
<b>Ответ</b>:
1 уровень - это ваш реферал. 2 уровень - реферал вашего реферала. 3 уровень - реферал реферала вашего реферала.
<br><br>
<b>Вопрос</b>: Меня заблокировали в чате, за что?<br>
<b>Ответ</b>:<br>
1)Спам<br>
2)Размещение ссылок<br>
3)Нецензурные выражения<br>
4)Ввождение в заблуждение пользователей <br>
5)Попытка навести смуту<br>
<b>Получили бан в чате? Разблокировка платная! Поэтому будьте внимательны!</b>
<br><br>
</div>
</div>
</div>
</div>
</div>
</section>
<div id="push"></div>
</div>
<?
}else{
?>
<div class="cl-right">
<script type="text/javascript">
function isNotMax(oTextArea) {
return oTextArea.value.length <= oTextArea.getAttribute('maxlength');
}
function isNotMax(e){
e = e || window.event;
var target = e.target || e.srcElement;
var code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode)
switch (code){
case 13:
case 8:
case 9:
case 46:
case 37:
case 38:
case 39:
case 40:
return true;
}
return target.value.length <= target.getAttribute('maxlength');
}
</script>
<div class="s-bk-lf">
<div class="acc-title">Служба поддержки</div>
</div>
<div class="silver-bk">
Прежде чем обратиться в техническую поддержку, пожалуйста, авторизируйтесь!
</div>
<div class="clr"></div>
<div class="clr"></div>
</div>
<?
/*echo 'Помощь доступна только авторизированным участникам.';*/
}
?>
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
почему?misterikl написал(а):Соответственно, я так понимаю, лучше этот скрипт для внутренней почты не использовать, да?
Вы думаете, когда Вы поставите этот скрипт все "хакеры" мира пойдут искать у Вас неправильную обработку данных?
У Вас в самом скрипте игры ошибок достаточно, а это лишь "капля в море".
Вы сами не знаете в чем проблема (я кстати, тоже еще не нашел что Remdev имел ввиду), а Ваши игроки и подавно даже не подумают об этом
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
тут тоже самое - запросы GET и POST передаются "как есть" без фильтрации - можно вставить в поле что-нибудь "нехорошее"misterikl написал(а):Ну допустим, я решил не использовать внутреннюю почту. Спасибо большое за помощь?
Но тогда надо поставить систему Тикетов, что бы пользователи могли обращаться в Суппорт, а тут есть что ни будь?
Код:<? if(isset($_SESSION['user_id'])){ if(isset($_POST['ans_go'])){ $id_m = $_POST['id_mes']; $date = time(); $ans = $_POST['ans']; $db->Query("INSERT INTO `ot_sup` (`id_mes`,`user`,`text`,`date`)VALUES('$id_m','$_SESSION[user]','$ans','$date')") or die(mysql_error()); echo "<span id='erorr' class='msgbox-error'>Тикет успешно создан.</span>"; $db->Query("UPDATE support SET status='0' WHERE id='$id_m'"); } тут тоже самое - все запросы GET и POST передаются "как есть" и не фильтруются - можно в поле вписать что-нибудь "нехорошее" if(isset($_POST['submit_rit'])){ $tima = $_POST['title_g']; $sod = $_POST['post_g']; if($tima==""){$err[] = 'Заполните поле Тема';} elseif($sod==""){$err[] = 'Заполните поле Содержание';} $date = time(); if(empty($err)){ $db->Query("INSERT INTO `support` (`user`,`title`,`text`,`date`,`status`)VALUES('$_SESSION[user]','$tima','$sod','$date','0')") or die(mysql_error()); echo "<span id='erorr' class='msgbox-error'>Тикет успешно создан.</span>"; }else{ foreach($err AS $error) echo "<span id='erorr' class='msgbox-error'>".$error."</span>"; } } ?> <script type="text/javascript" language="JavaScript"> $(document).ready(function(){ $("#addreply").click(function(){ $("#replyblock").fadeIn("slow"); document.getElementById('replybtn').innerHTML = "<span class='button-gray'>Ответить</span>"; }); }) function appendtag(text1, text2) { if ((document.selection)) { document.surforder.ask_desc.focus(); document.surforder.document.selection.createRange().text = text1+document.surforder.document.selection.createRange().text+text2; } else if(document.surforder.ask_desc.selectionStart != undefined) { var element = document.surforder.ask_desc; var str = element.value; var start = element.selectionStart; var length = element.selectionEnd - element.selectionStart; element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length); } else document.surforder.ask_desc.value += text1+text2; } function showclose() { $('#basic-modal-content').modal(); return false; } </script> <script type='text/javascript' src='/js/jquery.simplemodal.js'></script> <script type='text/javascript' src='/js/guibasic.js'></script> <script type="text/javascript" language="JavaScript"> function ClearForm() { document.forms['mailform'].scount.value = 'Осталось 1500 символов'; } function descchange(elem) { if (elem.value.length > 1500) { elem.value = elem.value.substr(0,1500); } document.forms['mailform'].scount.value = 'Осталось '+(1500-elem.value.length)+' символов'; } </script> <section id="logged-in"> <div class="container"> <div class="row-fluid"> <div class="span12 well well-white"> <div class="row-fluid"> <div class="span12 text-center"> <hr /> </div> </div> <ul class="nav nav-tabs"> <li <?if(empty($_GET['type'])){?>class="active"<?}?>><a href="/?menu=support" data-toggle="tab">Создать запрос</a></li> <li <?if(isset($_GET['type'])){?>class="active"<?}?>><a href="/?menu=support&type=all" data-toggle="tab">Мои тикеты</a></li> </ul> <?if(empty($_GET['type']) and empty($_GET['tiketid'])){?> <div class="silver-bk"> <div class="tab-content"> <div class="tab-pane active" id="create-ticket"> <div class="row-fluid" style=""> <div class="span12"> <label class="control-label" for="title"><u>Прежде чем создать тикет, убедитесь, что нужной вам информации нет на сайте! Время ожидания ответа - до 24 часов!</u></label> </div> </div> <div class="row-fluid" style=""> <div class="span12"> <form name="mailform" id="mailform" method="POST" action=""> <input size='40' type="text" name="title_g" value=''> </div> </div> <div class="row-fluid"> <div class="span12"> <label class="control-label" for="inputMessage">Содержание запроса:</label> </div> </div> <div class="row-fluid"> <div class="span12"> <textarea class="input-block-level" name="post_g" rows="6" cols='65' onkeyup="descchange(this);" placeholder="Как можно подробнее опишите вашу проблему. Например: если у вас проблема с платежом, то вам необходимо отправить название системы оплаты, дату, время, как пополняли (вручную или нет) и.т.д."></textarea> </div> </div> <div class="row-fluid"> <div class="span12"> <input class="scount input-block-level text-center" type="text" readonly="readonly" value="Осталось 1500 символов" maxlength="25" size="85" name="scount"> </div> </div> <div class="row-fluid"> <div class="span12"> <input class="btn btn-large btn-block" type='submit' name='submit_rit' value='Отправить' style="margin-top: 10px;" /> </form> </div> </div> </div> <?}if(isset($_GET['type'])and empty($_GET['tiketid'])){?> <div class="silver-bk"> <table cellpadding='3' cellspacing='0' border='0' align='center' width="550" BGCOLOR="#FCF6C2" > <thead> <tr style='background:#804040; '> <td style='border-radius:0px;color:#fff; text-align:center;'> Тема </td> <td style='border-radius:0px;color:#fff; text-align:center;'> Дата </td> <td style='border-radius:0px;color:#fff; text-align:center;'> Статус </td> </tr> </thead> <tbody> </div> <? $sup = $db->Query("SELECT id,title,date,status FROM support WHERE user='$_SESSION[user]' ORDER BY id DESC")or die(mysql_error()); while($_sup=$db->FetchArray($sup)){ if($_sup['status']=='0'){$ot = 'В очереди';}else{$ot = 'Прочитано';} ?> <tr><td style='text-align:center;'><a href="/?menu=support&tiketid=<?=$_sup['id']?>"><?=$_sup['title']?></a></td> <td style='text-align:center;'><?=date('M-d-Y h:i',$_sup['date'])?></td><td style='text-align:center;'><?=$ot?></td><td></td> </tr> <?}?> </tbody> </table> <?} if(isset($_GET['tiketid'])){ $tid = $_GET['tiketid']; ?> <div class="silver-bk"> <? $md = $db->Query("SELECT id,user,text,date FROM support WHERE id='$tid'")or die(mysql_error()); $remd= $db->FetchArray($md); $idd = $remd['id']; $user = $remd['user']; $textd = $remd['text']; $dat = $remd['date']; ?> <center> <div style='border:1px solid #660066;border-radius:5px; padding:3px; background:#fff;'> <div><b><?=$_SESSION['user']?></b> (<?=date('M-d-Y h:i',$dat)?>)</div> <hr> <div style='min-height:40px;'><?=$textd?></div> </div><br> <?$md2 = $db->Query("SELECT user,text,date FROM ot_sup WHERE id_mes='$idd' ORDER BY id ASC")or die(mysql_error()); while($remd2= $db->FetchArray($md2)){ $idd2 = $remd2['id']; $textd2 = $remd2['text']; $dat2 = $remd2['date']; ?> <div style='border:1px solid #660066;border-radius:5px; padding:3px; background:#fff;'> <div><b><?=$remd2['user']?></b> (<?=date('M-d-Y h:i',$dat2)?>)</div> <hr> <div style='min-height:40px;'><?=$textd2?></div> </div><br> <?}?> </center> <br> <center> <form method="post" action=""> Ответить<br> <textarea name="ans" rows="6" cols="50"></textarea><br><br> <input type="hidden" name="id_mes" value='<?=$idd?>'> <input type="submit" name='ans_go' value="Отправить" onclick=""> </form> </center> <?}?> </div> </div> <div class="silver-bk"> <b>Вопрос:</b> Как начать играть ? <br> <b>Ответ:</b> После регистрации в проекте, Вы переходите в раздел "Рынок Динозавров", где совершаете нужные покупки, собираете яйца, продаете - получаете серебро <br><br> <b>Вопрос:</b> Если я не пополнил баланс, могу ли я начать играть ?<br> <b>Ответ:</b> Да, можете! Ежедневный бонус позволит Вам собрать немного серебра для покупки птиц<br><br> <b>Вопрос:</b> Как пополнить баланс?<br> <b>Ответ:</b> Баланс Вы можете пополнить в разделе "Вложить" любым удобным для Вас способом.<br><br> <b>Вопрос:</b> Что такое верификация, и для чего она нужна ?<br> <b>Ответ:</b> Верификация - это привязка Вашего номера кошелька к Вашему аккаунту по средствам мобильной связи. Верификация нужна для дополнительной безопасности Вашего аккаунта. Логин указывается в формате Р2244668, "Р" заглавная английская.<br><br> <b>Вопрос:</b> Я указал номер телефона, почему не приходит сообщение с кодом ?<br> <b>Ответ</b>: Правильно указывайте формат телефона, он должен быть в международном формате, к примеру, для России это +7(номер телефона). Если Вы сделали все верно и код не приходит уже долгое время, напишите подробный тикет, с указанием телефона.<br><br> <b>Вопрос</b>: Что делать, если в разделе выплат указан чужой номер кошелька системы PAYEER ?<br> <b>Ответ</b>: Самое первое, что стоит сделать - это ИЗМЕНИТЬ ПАРОЛЬ. Если данные не Ваши значит уже что то не так. Тут 2 варианта. Первый - Вы мошенник, который хочет изменить номер кошелька на свой. Второй - Ваши средства хотели забрать мошенники, в этом случае если Вы не проходили верификацию, а это сделали за Вас, пишите тикет с описанием проблемы, если Вы проходили верификацию, но номер кошелька не Ваш, но номер мобильного Ваш, также пишете тикет с указанием проблемы, после чего заново верифицируетесь в системе.<br><br> <b>Вопрос</b>: Как мне вывести деньги из проекта ?<br> <b>Ответ</b>: Вывести заработанное Вы можете в разделе "Вывести". Там присутствуют специальные формы для выплат.<br><br> <b>Вопрос</b>: Как скоро я смогу начинать выводить деньги ?<br> <b>Ответ</b>: Сразу после пополнения и покупки динозавров, в разделе "Вывести". Перед выводом средств вам нужно собрать яйца и обменять их на серебро! <br><br> <b>Вопрос</b>: Я пополнил счет, но деньги не пришли - что делать?<br> <b>Ответ</b>: Ожидать. Скорость пополнения зависит от выбранного Вами способа оплаты. Поэтому время оплаты может варьироваться от 1 минуты до 2-х рабочих дней. Прежде чем совершить платеж, ВНИМАТЕЛЬНО читайте условия перевода, или оплаты. Если Вы все сделали правильно но деньги все таки не дошли до Вашего счета, тогда и только тогда пишите тикет, с полной информацией платежа(Платежная система, дата, время, сумма, номер перевода/транзакции, логин в игре). <br><br> <b>Вопрос</b>: Как можно еще зарабатывать серебро в проекте, кроме пополнения ?<br> <b>Ответ</b>: Серебро Вы можете заработать несколькими способами:<br> 1. Играя в игры<br> 2. Участвуя в конкурсе рефералов<br> 3. Ежедневный бонус<br> В каждом соответствующем разделе есть подробное описание <br><br> <b>Вопрос</b>: Как мне привлечь рефералов?<br> <b>Ответ</b>: Вам нужно отправить свою реферальную ссылку<br> (<img src="/img/piar-link.png" style="vertical-align:-2px; margin-right:5px;"><font color="#000;">http://dunozavar.com/?i=2</font>) пользователю, которого хотите пригласить. Как только он пополнит баланс - он будет считаться активным рефералом, и Вы получите за него баллы и серебро на ваш счет!<br> http://dunozavar.com/account/referals - здесь можете отслеживать активность ваших рефералов! <br><br> <b>Вопрос</b>: Я хочу поменять реферала или реферера, как мне это сделать?<br> <b>Ответ</b>: К сожалению, эти данные менять нельзя! Если ваш друг не стал вашим рефералом после регистрации, значит он зарегистрировался не по вашей ссылке. <br><br> <b>Вопрос</b>: Уровни рефералов - это что?<br> <b>Ответ</b>: 1 уровень - это ваш реферал. 2 уровень - реферал вашего реферала. 3 уровень - реферал реферала вашего реферала. <br><br> <b>Вопрос</b>: Меня заблокировали в чате, за что?<br> <b>Ответ</b>:<br> 1)Спам<br> 2)Размещение ссылок<br> 3)Нецензурные выражения<br> 4)Ввождение в заблуждение пользователей <br> 5)Попытка навести смуту<br> <b>Получили бан в чате? Разблокировка платная! Поэтому будьте внимательны!</b> <br><br> </div> </div> </div> </div> </div> </section> <div id="push"></div> </div> <? }else{ ?> <div class="cl-right"> <script type="text/javascript"> function isNotMax(oTextArea) { return oTextArea.value.length <= oTextArea.getAttribute('maxlength'); } function isNotMax(e){ e = e || window.event; var target = e.target || e.srcElement; var code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode) switch (code){ case 13: case 8: case 9: case 46: case 37: case 38: case 39: case 40: return true; } return target.value.length <= target.getAttribute('maxlength'); } </script> <div class="s-bk-lf"> <div class="acc-title">Служба поддержки</div> </div> <div class="silver-bk"> Прежде чем обратиться в техническую поддержку, пожалуйста, авторизируйтесь! </div> <div class="clr"></div> <div class="clr"></div> </div> <? /*echo 'Помощь доступна только авторизированным участникам.';*/ } ?>
misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
Дааа, жаль(pligin написал(а):тут тоже самое - запросы GET и POST передаются "как есть" без фильтрации - можно вставить в поле что-нибудь "нехорошее"
А не подскажете, как убрать фон встренный в код, и чем можно заменить GET и POST?
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
А с помощью чего вы будет передавать данные и формы в форму и в базу?misterikl написал(а):Дааа, жаль(
А не подскажете, как убрать фон встренный в код, и чем можно заменить GET и POST?
Лучше у поисковика спросите про фильтрацию данных, а не ищите что и чем заменить
Remdev
Участник
- Сообщения
- 77
- Реакции
- 19
Тоже есть, как минимум можно создавать тикеты от имени других пользователейmisterikl написал(а):Ну допустим, я решил не использовать внутреннюю почту. Спасибо большое за помощь?
Но тогда надо поставить систему Тикетов, что бы пользователи могли обращаться в Суппорт, а тут есть что ни будь?
Код:<? if(isset($_SESSION['user_id'])){ if(isset($_POST['ans_go'])){ $id_m = $_POST['id_mes']; $date = time(); $ans = $_POST['ans']; $db->Query("INSERT INTO `ot_sup` (`id_mes`,`user`,`text`,`date`)VALUES('$id_m','$_SESSION[user]','$ans','$date')") or die(mysql_error()); echo "<span id='erorr' class='msgbox-error'>Тикет успешно создан.</span>"; $db->Query("UPDATE support SET status='0' WHERE id='$id_m'"); } if(isset($_POST['submit_rit'])){ $tima = $_POST['title_g']; $sod = $_POST['post_g']; if($tima==""){$err[] = 'Заполните поле Тема';} elseif($sod==""){$err[] = 'Заполните поле Содержание';} $date = time(); if(empty($err)){ $db->Query("INSERT INTO `support` (`user`,`title`,`text`,`date`,`status`)VALUES('$_SESSION[user]','$tima','$sod','$date','0')") or die(mysql_error()); echo "<span id='erorr' class='msgbox-error'>Тикет успешно создан.</span>"; }else{ foreach($err AS $error) echo "<span id='erorr' class='msgbox-error'>".$error."</span>"; } } ?> <script type="text/javascript" language="JavaScript"> $(document).ready(function(){ $("#addreply").click(function(){ $("#replyblock").fadeIn("slow"); document.getElementById('replybtn').innerHTML = "<span class='button-gray'>Ответить</span>"; }); }) function appendtag(text1, text2) { if ((document.selection)) { document.surforder.ask_desc.focus(); document.surforder.document.selection.createRange().text = text1+document.surforder.document.selection.createRange().text+text2; } else if(document.surforder.ask_desc.selectionStart != undefined) { var element = document.surforder.ask_desc; var str = element.value; var start = element.selectionStart; var length = element.selectionEnd - element.selectionStart; element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length); } else document.surforder.ask_desc.value += text1+text2; } function showclose() { $('#basic-modal-content').modal(); return false; } </script> <script type='text/javascript' src='/js/jquery.simplemodal.js'></script> <script type='text/javascript' src='/js/guibasic.js'></script> <script type="text/javascript" language="JavaScript"> function ClearForm() { document.forms['mailform'].scount.value = 'Осталось 1500 символов'; } function descchange(elem) { if (elem.value.length > 1500) { elem.value = elem.value.substr(0,1500); } document.forms['mailform'].scount.value = 'Осталось '+(1500-elem.value.length)+' символов'; } </script> <section id="logged-in"> <div class="container"> <div class="row-fluid"> <div class="span12 well well-white"> <div class="row-fluid"> <div class="span12 text-center"> <hr /> </div> </div> <ul class="nav nav-tabs"> <li <?if(empty($_GET['type'])){?>class="active"<?}?>><a href="/?menu=support" data-toggle="tab">Создать запрос</a></li> <li <?if(isset($_GET['type'])){?>class="active"<?}?>><a href="/?menu=support&type=all" data-toggle="tab">Мои тикеты</a></li> </ul> <?if(empty($_GET['type']) and empty($_GET['tiketid'])){?> <div class="silver-bk"> <div class="tab-content"> <div class="tab-pane active" id="create-ticket"> <div class="row-fluid" style=""> <div class="span12"> <label class="control-label" for="title"><u>Прежде чем создать тикет, убедитесь, что нужной вам информации нет на сайте! Время ожидания ответа - до 24 часов!</u></label> </div> </div> <div class="row-fluid" style=""> <div class="span12"> <form name="mailform" id="mailform" method="POST" action=""> <input size='40' type="text" name="title_g" value=''> </div> </div> <div class="row-fluid"> <div class="span12"> <label class="control-label" for="inputMessage">Содержание запроса:</label> </div> </div> <div class="row-fluid"> <div class="span12"> <textarea class="input-block-level" name="post_g" rows="6" cols='65' onkeyup="descchange(this);" placeholder="Как можно подробнее опишите вашу проблему. Например: если у вас проблема с платежом, то вам необходимо отправить название системы оплаты, дату, время, как пополняли (вручную или нет) и.т.д."></textarea> </div> </div> <div class="row-fluid"> <div class="span12"> <input class="scount input-block-level text-center" type="text" readonly="readonly" value="Осталось 1500 символов" maxlength="25" size="85" name="scount"> </div> </div> <div class="row-fluid"> <div class="span12"> <input class="btn btn-large btn-block" type='submit' name='submit_rit' value='Отправить' style="margin-top: 10px;" /> </form> </div> </div> </div> <?}if(isset($_GET['type'])and empty($_GET['tiketid'])){?> <div class="silver-bk"> <table cellpadding='3' cellspacing='0' border='0' align='center' width="550" BGCOLOR="#FCF6C2" > <thead> <tr style='background:#804040; '> <td style='border-radius:0px;color:#fff; text-align:center;'> Тема </td> <td style='border-radius:0px;color:#fff; text-align:center;'> Дата </td> <td style='border-radius:0px;color:#fff; text-align:center;'> Статус </td> </tr> </thead> <tbody> </div> <? $sup = $db->Query("SELECT id,title,date,status FROM support WHERE user='$_SESSION[user]' ORDER BY id DESC")or die(mysql_error()); while($_sup=$db->FetchArray($sup)){ if($_sup['status']=='0'){$ot = 'В очереди';}else{$ot = 'Прочитано';} ?> <tr><td style='text-align:center;'><a href="/?menu=support&tiketid=<?=$_sup['id']?>"><?=$_sup['title']?></a></td> <td style='text-align:center;'><?=date('M-d-Y h:i',$_sup['date'])?></td><td style='text-align:center;'><?=$ot?></td><td></td> </tr> <?}?> </tbody> </table> <?} if(isset($_GET['tiketid'])){ $tid = $_GET['tiketid']; ?> <div class="silver-bk"> <? $md = $db->Query("SELECT id,user,text,date FROM support WHERE id='$tid'")or die(mysql_error()); $remd= $db->FetchArray($md); $idd = $remd['id']; $user = $remd['user']; $textd = $remd['text']; $dat = $remd['date']; ?> <center> <div style='border:1px solid #660066;border-radius:5px; padding:3px; background:#fff;'> <div><b><?=$_SESSION['user']?></b> (<?=date('M-d-Y h:i',$dat)?>)</div> <hr> <div style='min-height:40px;'><?=$textd?></div> </div><br> <?$md2 = $db->Query("SELECT user,text,date FROM ot_sup WHERE id_mes='$idd' ORDER BY id ASC")or die(mysql_error()); while($remd2= $db->FetchArray($md2)){ $idd2 = $remd2['id']; $textd2 = $remd2['text']; $dat2 = $remd2['date']; ?> <div style='border:1px solid #660066;border-radius:5px; padding:3px; background:#fff;'> <div><b><?=$remd2['user']?></b> (<?=date('M-d-Y h:i',$dat2)?>)</div> <hr> <div style='min-height:40px;'><?=$textd2?></div> </div><br> <?}?> </center> <br> <center> <form method="post" action=""> Ответить<br> <textarea name="ans" rows="6" cols="50"></textarea><br><br> <input type="hidden" name="id_mes" value='<?=$idd?>'> <input type="submit" name='ans_go' value="Отправить" onclick=""> </form> </center> <?}?> </div> </div> <div class="silver-bk"> <b>Вопрос:</b> Как начать играть ? <br> <b>Ответ:</b> После регистрации в проекте, Вы переходите в раздел "Рынок Динозавров", где совершаете нужные покупки, собираете яйца, продаете - получаете серебро <br><br> <b>Вопрос:</b> Если я не пополнил баланс, могу ли я начать играть ?<br> <b>Ответ:</b> Да, можете! Ежедневный бонус позволит Вам собрать немного серебра для покупки птиц<br><br> <b>Вопрос:</b> Как пополнить баланс?<br> <b>Ответ:</b> Баланс Вы можете пополнить в разделе "Вложить" любым удобным для Вас способом.<br><br> <b>Вопрос:</b> Что такое верификация, и для чего она нужна ?<br> <b>Ответ:</b> Верификация - это привязка Вашего номера кошелька к Вашему аккаунту по средствам мобильной связи. Верификация нужна для дополнительной безопасности Вашего аккаунта. Логин указывается в формате Р2244668, "Р" заглавная английская.<br><br> <b>Вопрос:</b> Я указал номер телефона, почему не приходит сообщение с кодом ?<br> <b>Ответ</b>: Правильно указывайте формат телефона, он должен быть в международном формате, к примеру, для России это +7(номер телефона). Если Вы сделали все верно и код не приходит уже долгое время, напишите подробный тикет, с указанием телефона.<br><br> <b>Вопрос</b>: Что делать, если в разделе выплат указан чужой номер кошелька системы PAYEER ?<br> <b>Ответ</b>: Самое первое, что стоит сделать - это ИЗМЕНИТЬ ПАРОЛЬ. Если данные не Ваши значит уже что то не так. Тут 2 варианта. Первый - Вы мошенник, который хочет изменить номер кошелька на свой. Второй - Ваши средства хотели забрать мошенники, в этом случае если Вы не проходили верификацию, а это сделали за Вас, пишите тикет с описанием проблемы, если Вы проходили верификацию, но номер кошелька не Ваш, но номер мобильного Ваш, также пишете тикет с указанием проблемы, после чего заново верифицируетесь в системе.<br><br> <b>Вопрос</b>: Как мне вывести деньги из проекта ?<br> <b>Ответ</b>: Вывести заработанное Вы можете в разделе "Вывести". Там присутствуют специальные формы для выплат.<br><br> <b>Вопрос</b>: Как скоро я смогу начинать выводить деньги ?<br> <b>Ответ</b>: Сразу после пополнения и покупки динозавров, в разделе "Вывести". Перед выводом средств вам нужно собрать яйца и обменять их на серебро! <br><br> <b>Вопрос</b>: Я пополнил счет, но деньги не пришли - что делать?<br> <b>Ответ</b>: Ожидать. Скорость пополнения зависит от выбранного Вами способа оплаты. Поэтому время оплаты может варьироваться от 1 минуты до 2-х рабочих дней. Прежде чем совершить платеж, ВНИМАТЕЛЬНО читайте условия перевода, или оплаты. Если Вы все сделали правильно но деньги все таки не дошли до Вашего счета, тогда и только тогда пишите тикет, с полной информацией платежа(Платежная система, дата, время, сумма, номер перевода/транзакции, логин в игре). <br><br> <b>Вопрос</b>: Как можно еще зарабатывать серебро в проекте, кроме пополнения ?<br> <b>Ответ</b>: Серебро Вы можете заработать несколькими способами:<br> 1. Играя в игры<br> 2. Участвуя в конкурсе рефералов<br> 3. Ежедневный бонус<br> В каждом соответствующем разделе есть подробное описание <br><br> <b>Вопрос</b>: Как мне привлечь рефералов?<br> <b>Ответ</b>: Вам нужно отправить свою реферальную ссылку<br> (<img src="/img/piar-link.png" style="vertical-align:-2px; margin-right:5px;"><font color="#000;">http://dunozavar.com/?i=2</font>) пользователю, которого хотите пригласить. Как только он пополнит баланс - он будет считаться активным рефералом, и Вы получите за него баллы и серебро на ваш счет!<br> http://dunozavar.com/account/referals - здесь можете отслеживать активность ваших рефералов! <br><br> <b>Вопрос</b>: Я хочу поменять реферала или реферера, как мне это сделать?<br> <b>Ответ</b>: К сожалению, эти данные менять нельзя! Если ваш друг не стал вашим рефералом после регистрации, значит он зарегистрировался не по вашей ссылке. <br><br> <b>Вопрос</b>: Уровни рефералов - это что?<br> <b>Ответ</b>: 1 уровень - это ваш реферал. 2 уровень - реферал вашего реферала. 3 уровень - реферал реферала вашего реферала. <br><br> <b>Вопрос</b>: Меня заблокировали в чате, за что?<br> <b>Ответ</b>:<br> 1)Спам<br> 2)Размещение ссылок<br> 3)Нецензурные выражения<br> 4)Ввождение в заблуждение пользователей <br> 5)Попытка навести смуту<br> <b>Получили бан в чате? Разблокировка платная! Поэтому будьте внимательны!</b> <br><br> </div> </div> </div> </div> </div> </section> <div id="push"></div> </div> <? }else{ ?> <div class="cl-right"> <script type="text/javascript"> function isNotMax(oTextArea) { return oTextArea.value.length <= oTextArea.getAttribute('maxlength'); } function isNotMax(e){ e = e || window.event; var target = e.target || e.srcElement; var code=e.keyCode?e.keyCode:(e.which?e.which:e.charCode) switch (code){ case 13: case 8: case 9: case 46: case 37: case 38: case 39: case 40: return true; } return target.value.length <= target.getAttribute('maxlength'); } </script> <div class="s-bk-lf"> <div class="acc-title">Служба поддержки</div> </div> <div class="silver-bk"> Прежде чем обратиться в техническую поддержку, пожалуйста, авторизируйтесь! </div> <div class="clr"></div> <div class="clr"></div> </div> <? /*echo 'Помощь доступна только авторизированным участникам.';*/ } ?>
misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
Еще один вопрос, пополнение через Вебмани. Пополнение есть, а серебро пользователю не зачисляется, помогите пожалуйста вот
wmrest.php
Вот insert.php
wmrest.php
Код:
<?php
// Если это форма предварительного запроса, то идем дальше...
IF($_POST['LMI_PREREQUEST']==1) {
// Проверяем, не произошла ли подмена кошелька.
// Cравниваем наш настоящий кошелек с тем кошельком, который передан нам Мерчантом.
// Если кошельки не совпадают, то выводим ошибку и прерываем работу скрипта.
if(trim($_POST['LMI_PAYEE_PURSE'])!="R11111111111") {
echo "ERR: НЕВЕРНЫЙ КОШЕЛЕК ПОЛУЧАТЕЛЯ ".$_POST['LMI_PAYEE_PURSE'];
exit;
}
// Если ошибок не возникло и мы дошли до этого места, то выводим YES
echo "YES";
}
ELSE {
# Автоподгрузка классов
function __autoload($name){ include("classes/_class.".$name.".php");}
# Класс конфига
$config = new config;
# Функции
$func = new func;
# База данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);
// проверка данных
$secret_key="111111111111111111111111";
$common_string = $_POST['LMI_PAYEE_PURSE'].$_POST['LMI_PAYMENT_AMOUNT'].$_POST['LMI_PAYMENT_NO'].
$_POST['LMI_MODE'].$_POST['LMI_SYS_INVS_NO'].$_POST['LMI_SYS_TRANS_NO'].
$_POST['LMI_SYS_TRANS_DATE'].$secret_key.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM'];
$hash = strtoupper(sha256($common_string));
if($hash!=$_POST['LMI_HASH']) exit;
// всё верно, зачисляем и пишем в базу
$sum = $_POST['LMI_PAYMENT_AMOUNT'];
$ik_payment_amount = $sum;
$id_user = (int)$_POST['id_user'];
$user_id = $id_user;
$u_name = $_POST['name_user'];
$db->Query("INSERT INTO db_payeer_insert (user_id, user, sum, date_add,status) VALUES ('$id_user','$u_name','$sum','".time()."','1')");
# Настройки
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
$db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
$user_ardata = $db->FetchArray();
$user_name = $user_ardata["user"];
$refid = $user_ardata["referer_id"];
# Зачисляем баланс
$serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
$db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
$ins_sum = $db->FetchRow();
$serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
$serebro = intval($ins_sum >= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
$add_tree = ( $ik_payment_amount >= 49009.99) ? 2 : 0;
$lsb = time();
$to_referer = ($serebro * 0.10);
//Начисляем билеты
if($ik_payment_amount >= 200 and $ik_payment_amount < 1000) {
$bil = $ik_payment_amount / 200;
$bill = intval($bil);
} elseif ($ik_payment_amount >= 1000 and $ik_payment_amount < 2000) {
$bil = $ik_payment_amount / 200;
$bill = intval($bil) + 2; // если сумма больше 1000 и меньше 2000 руб то бонус 2 билет
}elseif ($ik_payment_amount >= 2000) {
$bil = $ik_payment_amount / 200;
$bill = intval($bil) + 5; // если сумма больше 2000 руб то бонус 5 билета
}else{
$bill = 0;
}
$db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', e_t = e_t + '$add_tree', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount', billet = billet + '$bill' WHERE id = '{$user_id}'");
# Зачисляем средства рефереру и дерево
$add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 1" : "";
$db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
# Статистика пополнений
$da = time();
$dd = $da + 60*60*24*15;
$db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del)
VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')");
# Конкурс
$competition = new competition($db);
$competition->UpdatePoints($user_id, $ik_payment_amount);
# Обновление статистики сайта
$db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");
}
Вот insert.php
Код:
class="title">ПОПОЛНЕНИЕ СЧЕТА</div>
</div>
<div class="silver-bk"><br><br>
<?PHP
$_OPTIMIZATION["title"] = "Пополнение c помощью WebMoney";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
$db->Query("SELECT id FROM `db_payeer_insert`order by id desc limit 1");
if ($db->NumRows()!=0)
{
$res = $db->FetchArray();
$last_id = $res['id'];
} else $last_id='0';
$last_id++;
?>
<div class="silver-bk">
<font color = 'black'>
<center><h3><p>Автоматическая оплата через WebMoney</p> </center></h3>
<p><center><img src="/img/wm.png" /></center></p>
<div class="title"><h4>
<span style="color: snow;">
Курс игровой валюты: 1 рубль (<?=$config->VAL; ?>) = <?=$sonfig_site["ser_per_wmr"]; ?> золота.
<p>Ввод средств позволяет автоматически приобрести игровое серебро с помощью Webmoney.</p>
<p>Оплата и зачисление серебра на баланс производится в автоматическом режиме.</p>
<p>Введите сумму в РУБЛЯХ, которую вы хотите зачислить на ваш баланс. <BR />
После пополнения вам будет моментально зачислено серебро.<br /></p>
<p></span>
<span style="color: #7FFF00;">
При пополнении от 1 до 2499р - <b>50%</b> от суммы В ПОДАРОК!<br>
При пополнении от 2500р. - <b>100%</b> от суммы В ПОДАРОК!<br>
При пополнении от 5000р - <b>200%</b> от суммы В ПОДАРОК!<br>
</span></h4></div>
<BR />
<BR />
<script type="text/javascript">
var min = 0.01;
var ser_pr = 100;
function calculate(st_q) {
var sum_insert = parseFloat(st_q);
var sum_a1 = sum_insert * ser_pr;
var sum_b1;
$('#res_sum').html( (sum_insert * ser_pr).toFixed(0) );
$('#wm_summ').val(sum_insert);
if (sum_insert>=1 && sum_insert<2499) {
sum_b1 = sum_a1 * 0.5;
$('#res_sum').html( (sum_a1.toFixed(0) + ' + ' + sum_b1.toFixed(0)) );
}
if (sum_insert>=2500 && sum_insert<5000) {
sum_b1 = sum_a1 * 1.0;
$('#res_sum').html( (sum_a1.toFixed(0) + ' + ' + sum_b1.toFixed(0)) );
}
if (sum_insert>=5000 && sum_insert<20000) {
sum_b1 = sum_a1 * 2.0;
$('#res_sum').html( (sum_a1.toFixed(0) + ' + ' + sum_b1.toFixed(0)) );
}
}
</script>
<div id="error3"></div>
<p>Перед покупкой серебра соберите алмазы</p>
Введите сумму [<?=$config->VAL; ?>]:
<input type="text" value="100" name="sum" size="7" id="psevdo" onchange="calculate(this.value)" onkeyup="calculate(this.value)" onfocusout="calculate(this.value)" onactivate="calculate(this.value)" ondeactivate="calculate(this.value)">
<b><font color = 'green'>Вы получите <span id="res_sum">10000</span> серебра </font></b>
<BR /><BR />
<form method="POST" action="https://merchant.webmoney.ru/lmi/payment.asp">
<input type="hidden" name="LMI_PAYMENT_NO" value="<?php echo $last_id; ?>">
<input type="hidden" name="LMI_PAYMENT_AMOUNT" id="wm_summ" value="0.05">
<input type="hidden" name="LMI_PAYMENT_DESC" value="<?php echo "Пополнение баланса в 11111";?>">
<input type="hidden" name="LMI_PAYEE_PURSE" value="R111111111111111">
<input type="hidden" name="id_user" value="<?php echo $usid ;?>">
<input type="hidden" name="name_user" value="<?php echo $usname ;?>">
<input type="submit" value="Оплатить">
</form>
<script type="text/javascript">
calculate(100);
</script>
<center>
<BR />
</center>
<BR /><BR />
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
$secret_key="111111111111111111111111"; - свой секретный ключ вставлял ?misterikl написал(а):Еще один вопрос, пополнение через Вебмани. Пополнение есть, а серебро пользователю не зачисляется, помогите пожалуйста вот
wmrest.php
Код:<?php // Если это форма предварительного запроса, то идем дальше... IF($_POST['LMI_PREREQUEST']==1) { // Проверяем, не произошла ли подмена кошелька. // Cравниваем наш настоящий кошелек с тем кошельком, который передан нам Мерчантом. // Если кошельки не совпадают, то выводим ошибку и прерываем работу скрипта. if(trim($_POST['LMI_PAYEE_PURSE'])!="R11111111111") { echo "ERR: НЕВЕРНЫЙ КОШЕЛЕК ПОЛУЧАТЕЛЯ ".$_POST['LMI_PAYEE_PURSE']; exit; } // Если ошибок не возникло и мы дошли до этого места, то выводим YES echo "YES"; } ELSE { # Автоподгрузка классов function __autoload($name){ include("classes/_class.".$name.".php");} # Класс конфига $config = new config; # Функции $func = new func; # База данных $db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB); // проверка данных $secret_key="111111111111111111111111"; $common_string = $_POST['LMI_PAYEE_PURSE'].$_POST['LMI_PAYMENT_AMOUNT'].$_POST['LMI_PAYMENT_NO']. $_POST['LMI_MODE'].$_POST['LMI_SYS_INVS_NO'].$_POST['LMI_SYS_TRANS_NO']. $_POST['LMI_SYS_TRANS_DATE'].$secret_key.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM']; $hash = strtoupper(sha256($common_string)); if($hash!=$_POST['LMI_HASH']) exit; // всё верно, зачисляем и пишем в базу $sum = $_POST['LMI_PAYMENT_AMOUNT']; $ik_payment_amount = $sum; $id_user = (int)$_POST['id_user']; $user_id = $id_user; $u_name = $_POST['name_user']; $db->Query("INSERT INTO db_payeer_insert (user_id, user, sum, date_add,status) VALUES ('$id_user','$u_name','$sum','".time()."','1')"); # Настройки $db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1"); $sonfig_site = $db->FetchArray(); $db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$user_id}' LIMIT 1"); $user_ardata = $db->FetchArray(); $user_name = $user_ardata["user"]; $refid = $user_ardata["referer_id"]; # Зачисляем баланс $serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) ); $db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1"); $ins_sum = $db->FetchRow(); $serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro; $serebro = intval($ins_sum >= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro; $add_tree = ( $ik_payment_amount >= 49009.99) ? 2 : 0; $lsb = time(); $to_referer = ($serebro * 0.10); //Начисляем билеты if($ik_payment_amount >= 200 and $ik_payment_amount < 1000) { $bil = $ik_payment_amount / 200; $bill = intval($bil); } elseif ($ik_payment_amount >= 1000 and $ik_payment_amount < 2000) { $bil = $ik_payment_amount / 200; $bill = intval($bil) + 2; // если сумма больше 1000 и меньше 2000 руб то бонус 2 билет }elseif ($ik_payment_amount >= 2000) { $bil = $ik_payment_amount / 200; $bill = intval($bil) + 5; // если сумма больше 2000 руб то бонус 5 билета }else{ $bill = 0; } $db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', e_t = e_t + '$add_tree', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount', billet = billet + '$bill' WHERE id = '{$user_id}'"); # Зачисляем средства рефереру и дерево $add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 1" : ""; $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'"); # Статистика пополнений $da = time(); $dd = $da + 60*60*24*15; $db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del) VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')"); # Конкурс $competition = new competition($db); $competition->UpdatePoints($user_id, $ik_payment_amount); # Обновление статистики сайта $db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'"); }
Вот insert.php
Код:class="title">ПОПОЛНЕНИЕ СЧЕТА</div> </div> <div class="silver-bk"><br><br> <?PHP $_OPTIMIZATION["title"] = "Пополнение c помощью WebMoney"; $usid = $_SESSION["user_id"]; $usname = $_SESSION["user"]; $db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1"); $sonfig_site = $db->FetchArray(); $db->Query("SELECT id FROM `db_payeer_insert`order by id desc limit 1"); if ($db->NumRows()!=0) { $res = $db->FetchArray(); $last_id = $res['id']; } else $last_id='0'; $last_id++; ?> <div class="silver-bk"> <font color = 'black'> <center><h3><p>Автоматическая оплата через WebMoney</p> </center></h3> <p><center><img src="/img/wm.png" /></center></p> <div class="title"><h4> <span style="color: snow;"> Курс игровой валюты: 1 рубль (<?=$config->VAL; ?>) = <?=$sonfig_site["ser_per_wmr"]; ?> золота. <p>Ввод средств позволяет автоматически приобрести игровое серебро с помощью Webmoney.</p> <p>Оплата и зачисление серебра на баланс производится в автоматическом режиме.</p> <p>Введите сумму в РУБЛЯХ, которую вы хотите зачислить на ваш баланс. <BR /> После пополнения вам будет моментально зачислено серебро.<br /></p> <p></span> <span style="color: #7FFF00;"> При пополнении от 1 до 2499р - <b>50%</b> от суммы В ПОДАРОК!<br> При пополнении от 2500р. - <b>100%</b> от суммы В ПОДАРОК!<br> При пополнении от 5000р - <b>200%</b> от суммы В ПОДАРОК!<br> </span></h4></div> <BR /> <BR /> <script type="text/javascript"> var min = 0.01; var ser_pr = 100; function calculate(st_q) { var sum_insert = parseFloat(st_q); var sum_a1 = sum_insert * ser_pr; var sum_b1; $('#res_sum').html( (sum_insert * ser_pr).toFixed(0) ); $('#wm_summ').val(sum_insert); if (sum_insert>=1 && sum_insert<2499) { sum_b1 = sum_a1 * 0.5; $('#res_sum').html( (sum_a1.toFixed(0) + ' + ' + sum_b1.toFixed(0)) ); } if (sum_insert>=2500 && sum_insert<5000) { sum_b1 = sum_a1 * 1.0; $('#res_sum').html( (sum_a1.toFixed(0) + ' + ' + sum_b1.toFixed(0)) ); } if (sum_insert>=5000 && sum_insert<20000) { sum_b1 = sum_a1 * 2.0; $('#res_sum').html( (sum_a1.toFixed(0) + ' + ' + sum_b1.toFixed(0)) ); } } </script> <div id="error3"></div> <p>Перед покупкой серебра соберите алмазы</p> Введите сумму [<?=$config->VAL; ?>]: <input type="text" value="100" name="sum" size="7" id="psevdo" onchange="calculate(this.value)" onkeyup="calculate(this.value)" onfocusout="calculate(this.value)" onactivate="calculate(this.value)" ondeactivate="calculate(this.value)"> <b><font color = 'green'>Вы получите <span id="res_sum">10000</span> серебра </font></b> <BR /><BR /> <form method="POST" action="https://merchant.webmoney.ru/lmi/payment.asp"> <input type="hidden" name="LMI_PAYMENT_NO" value="<?php echo $last_id; ?>"> <input type="hidden" name="LMI_PAYMENT_AMOUNT" id="wm_summ" value="0.05"> <input type="hidden" name="LMI_PAYMENT_DESC" value="<?php echo "Пополнение баланса в 11111";?>"> <input type="hidden" name="LMI_PAYEE_PURSE" value="R111111111111111"> <input type="hidden" name="id_user" value="<?php echo $usid ;?>"> <input type="hidden" name="name_user" value="<?php echo $usname ;?>"> <input type="submit" value="Оплатить"> </form> <script type="text/javascript"> calculate(100); </script> <center> <BR /> </center> <BR /><BR />
misterikl
Местный
- Сообщения
- 100
- Реакции
- 7
Конечно, платеж проходит, на мой кашелек деньги приходят, а вот пользователям серебро не начисляется( вот не могу понять почему?pligin написал(а):$secret_key="111111111111111111111111"; - свой секретный ключ вставлял ?