Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Изменения в Л2топ, помогите со скриптом
#1
Л2топ изменил правила, теперь если запрос от серва идет более одного раза в минуту, ип банится. Рекомендуется делать запросы с частотой 1 раз в 5 мин. Помогите плз переделать скрипт под новые правила Л2топ.

Цитата:<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=WINDOWS-1251">
<link href="/test/style.css" rel="stylesheet" type="text/css">
<title>
Страница для получения бонуса за голосование
</title>
</head>
<body>
<br>
<center>
<div class="header">Проголосуй за сервер и получи бонус</div>

<?
require_once 'core/config.php';

$start= "
<center><table border='0' cellspacing='0' cellpadding='0'>
<tr>
<td class ='login_box'><center>
<span class= 'login_text'>
1.Проголосуйте на L2Top</span><br>
<a href='http://l2top.ru/vote/".$config['id_top']."/' target='_blank'><img src='http://l2top.ru/vb/".$config['id_top'].".pgif' width='88' height='31' border='0' alt='L2top.ru: Рейтинг-каталог серверов Lineage2'></a><p>
<form action='".$config['url']."' method='post'>
2.Введите ник персонажа<br>
<input type='text' name='name'/><br><br>
<input type='submit' value='Получить бонус'/>
</form>
</td>
<td width='5%'></td>
<td class ='base_text'>
<strong><li>Имя персонажа может содержать только латинские буквы верхнего и нижнего регистра и цифры.</strong><br>
<strong><li>Для получения бонуса Ваш персонаж должен быть off-line.</strong><br>
<strong><li>После того, как проголосуете, подождите 3 минуты, пока Ваш голос появится в списке последних проголосовавшх.</strong><br>
</td>
</tr>
</table>
<div class='leger'><a href='http://l2fg.net.ru/'>На главную</a></div>

";

connect();
if(!isset($_POST['name']))
{
echo $start;
}
else
{
if(ereg("^([a-zA-Z0-9_-])*$", $_POST['name']))
{
$total=0;
$name=mysql_escape_string($_POST['name']);
$char_id_ar=mysql_fetch_assoc(mysql_query("SELECT `obj_Id` FROM `characters` WHERE `char_name` = '$name';"));
if($char_id_ar!=array())
{
$char_id_ar=mysql_fetch_assoc(mysql_query("SELECT `obj_Id` FROM `characters` WHERE `char_name` = '$name' AND `online`=0;"));
if($char_id_ar!=array())
{
$char_id_sql=mysql_escape_string($char_id_ar['obj_Id']);
$bonus_id_sql=mysql_escape_string($config['bonus_id']);
$numberous_sql=mysql_escape_string($config['numberous']);
$html=@file_get_contents($config['url_info']);
if ($html && preg_match_all('/([^\s]+)/', $html, $matches))
{
foreach ($matches[1] as $id => $nick)
{
if (strtolower($nick)===strtolower($name))
{
$voters[]=$matches[1][$id-2];
}
}
if ($voters!=array())
{
foreach ($voters as $time)
{
$time_sql=mysql_escape_string($time);
$array=mysql_fetch_assoc(mysql_query("SELECT * FROM `character_vote` WHERE `char_name` = '$name' AND `date` = '$time_sql';"));
if ($array == array())
{
$array=mysql_fetch_assoc(mysql_query("SELECT * FROM `items` WHERE `owner_id` = '$char_id_sql' AND `item_id` = '$bonus_id_sql';"));
if ($array == array())
{
$array=mysql_fetch_assoc(mysql_query("SELECT MAX(`object_id`)+1 AS `id` FROM `items`"));
$ins_id=$array['id'];
$SQL=mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`) VALUES('$char_id_sql', '$ins_id', '$bonus_id_sql', '$numberous_sql', 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1);");
}
else
{
$SQL=mysql_query("UPDATE `items` SET `count` = `count` + '$numberous_sql' WHERE `owner_id` = '$char_id_sql' AND `item_id` = '$bonus_id_sql';");
}
if ($SQL)
{
mysql_query("INSERT INTO `character_vote` (`char_name`, `date`) VALUES ('$name', '$time');");
$total+=$config['numberous'];
$log1="
<br>
Бонус за ".$time." зачислен.";
echo $log1;
}
else
{
$error="Ошибка #4";
echo "<br><font color='red'>Извините, к сожалению на данный момент этот сервис не доступен.<br>".$error."</font><br></center></body></html>";
exit;
}
}
else
{
$log2="
<br>Вы уже полчили бонус за голос за ".$time;
echo $log2;
}
}
}
else
{
$log3="
<br><br>Извините, но к сожалению ваш голос на сайте L2Top.ru не найден.<br>
Если вы только что проголосовали, то подождите в течении трёх минут, пока Ваш голос появится в списке последних проголосовавших. В ином случае, для получения бонуса, проголосуйте за сервер.<br>";
echo $log3;
}
}
else
{
$error="Ошибка #3";
echo "<br><font color='red'>Извините, к сожалению на данный момент этот сервис не доступен.<br>".$error."</font><br></center></body></html>";
exit;
}
}
else
{
$log5="
<br><br>Для зачисления бонуса Ваш персонаж должен быть <b>off-line</b>. </center></body></html>";
echo $log5;
exit;
}
}
else
{
$log4="
<br><br>Персонажа с таким именем не существует. Повторите попытку. </center></body></html>";
echo $log4;
exit;
}
echo "<br><b>На вашего персонажа зачислено ".$total." ".$config['name'].".</b>";
}
else
{
$log4="
<br><br>Персонажа с таким именем не существует. Повторите попытку. </center></body></html>";
echo $log4;
exit;
}
}
?>

</center>
</body>
</html>

Добавлено через 3 часа 37 минут
ап, подскажите плз

Добавлено через 18 часов 42 минуты
Че, ни у кого нет такой проблемы? Sad
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  помогите harazar 0 1,239 01-08-2015, 05:55 PM
Последний пост: harazar
  Помогите поправить скрипт hoske 5 2,385 12-01-2014, 09:35 PM
Последний пост: SkAvenger
  Помогите Решить Проблему с сайтом Alistor 1 1,659 09-15-2014, 10:16 PM
Последний пост: Grendel
  [Просьба к гуру] Помогите разобраться с чпу hoske 2 1,951 08-26-2014, 08:13 PM
Последний пост: PROGRAMMATOR
  Помогите решить проблему Stress Web 11 hYdR0 4 2,394 07-30-2013, 03:28 PM
Последний пост: [STIGMATED]
  помогите пожалуйста vovauv 6 1,998 07-04-2013, 11:48 PM
Последний пост: HastemaNS
  Помогите с ошибкой MySQL shamandok 9 4,698 05-14-2013, 01:55 PM
Последний пост: SoniPro
  Помогите переделать wegas9393 5 2,468 03-22-2013, 06:22 PM
Последний пост: helly
  помогите со stressweb Gameanons 3 1,904 10-23-2012, 07:23 PM
Последний пост: dorocki
  Помогите с Stress Web 13 L2sidia 1 2,352 08-22-2012, 02:36 PM
Последний пост: helly

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)