L2top не выдает призов скрипт Votex
7 replies273 viewsCurrently viewing: 1
· 07/11/2009, 11:18 PM
Вобщем настроил вотех скрипт залил таблички в MSSQL все вроде бы хорошо есть конект с базой и т.д. и т.п. но когда голосую а потом ввожу ник и жму получить приз то мне выдает:
Цитата
Ошибка: Вы не проголосовали в рейтинге или нет связи с сервером L2TOP.
Чтобы проголосовать нужно кликнуть по ссылке ниже, после голосования вернитесь на эту страницу и повторите еще раз. Если вы уверены, что проголосовали, повторите попытку позже
Чтобы проголосовать нужно кликнуть по ссылке ниже, после голосования вернитесь на эту страницу и повторите еще раз. Если вы уверены, что проголосовали, повторите попытку позже
скрипт вот:
Код
<?
session_start();
function antiinjection($str)
{
$words = array("\\", "'", ",", ";", "--", "-", "%20", "%27", " ", "`", "=", "%");
$words_preg = array("|INSERT|i", "|DROP|i", "|SELECT|i", "|DELETE|i", "|UPDATE|i", "|TRUNCATE|i", "|SHUTDOWN|i");
for($i=0;$i<count($words_preg);$i++){
if(preg_match($words_preg[$i], $str)){$apina = 500;}
}
for($i=0;$i<count($words);$i++){
$jopa=strpos($str, $words[$i]);
if(is_numeric($jopa)){$apina = 500;}
}
if($apina==500){
return FALSE;
} else {
return TRUE;
}
}
$dberror=0;
$realIP = $_SERVER["REMOTE_ADDR"];
$realtime = time();
$exp_time = 86400;
$mssql_host = "***";
$mssql_login = "***";
$mssql_pass = "***";
$mssql_db = "lin2world";
$adena_id = 6392;
$adena_amount = 500;
$dbconnect2=mssql_connect($mssql_host, $mssql_login, $mssql_pass);
if(!$dbconnect2) { echo "Не могу установить соединение с базой. Попробуйте позже."; $dberror=1; }
if($dberror!=1) {
echo "
<h1>Проголосуй и получи приз!</h1>
<b>Уважаемые игроки!</b><br>
Чтобы получить приз за голосование в рейтинге, вы должны:
<ul>
<li>Проголосовать за сервер. ( <a href='http://l2top.ru/?voteme=4480' target='_blank'><b><u>Нажмите здесь, чтобы проголосовать</u></b></a> )<br>(<i>Голос считается зачисленным, если на L2TOP вам после голосования написали 'Спасибо. Ваш голос зачтен'. Приз можно получить только если ваш голос был зачтен!</i>)</li>
<li>На этой странице вписать ник персонажа, которому вы хотите отдать приз.</li>
<li>Далее если все данные верны вы получить приз на указанного персонажа.</li>
<li>Запрещается намеренная накрутка счетчика, наказание - блокировка всех аккаунтов.</li>
<li>Внимание! Выдача приза если персонаж в это время находился в игре или сервер ОФФЛАЙН, НЕ ГАРАНТИРУЕТСЯ!</li>
</ul><br><br>
";
if (strlen($realIP)<4 ||strlen($realIP)>16) {
echo "<center><span style='color:red'>Ошибка: Повреждена целостность данных.</span><br></center>";
exit;
}
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
$zalupa=0;
$serv_info=file("http://l2top.ru/?servID=4480&act=info");
for($i=0;$i<count($serv_info);$i++){
if(strpos($serv_info[$i], $realIP) !== false) {
$zalupa=1;
}
}
if($zalupa==0){echo "<center><span style='color:red'>Ошибка: Вы не проголосовали в рейтинге или нет связи с сервером L2TOP.</span><br>Чтобы проголосовать нужно кликнуть по ссылке ниже, после голосования вернитесь на эту страницу и повторите еще раз. Если вы уверены, что проголосовали, повторите попытку позже.<br><a href='http://l2top.ru/?voteme=4480' target='_blank'><b><u>Перейти на страницу голосования ...</u></b></a></center><br><br>";
} else {
$char = $_POST["char"];
if(antiinjection($char)){
$antichar=$char;
if (strlen($antichar)<1 ||strlen($antichar)>16) {
echo "<center><span style='color:red'>Длина имени должна быть в диапазоне от 1 до 16 символов.<br><br></span><br></center>";
} else {
mssql_connect($mssql_host, $mssql_login, $mssql_pass);
mssql_select_db($mssql_db);
$r=mssql_query("SELECT * FROM l2_votex WHERE char_id='$antichar' and date>'$realtime'");
if(mssql_num_rows($r) == 0 ) {
$error = 2;
} else {
echo "<center><span style='color:red'>Ошибка: Вы уже голосовали сегодня. Приходите через 24 часа!<br><br></span></center>";
}
}
} else { echo "<center><span style='color:red'>Неверное значение в поле - введите свой ник.</span></center><br><br>"; }
}
if($error==2) {
$starter="1";
mssql_connect($mssql_host, $mssql_login, $mssql_pass);
mssql_select_db($mssql_db);
$r=mssql_query("SELECT * FROM l2_votex_ip WHERE ip='$realIP' and date>'$realtime'");
if(mssql_num_rows($r) == 0 ) {
$error2 = 1;
} else {
echo "<center><span style='color:red'>Ошибка: Вы уже голосовали сегодня. Приходите через 24 часа!<br><br></span></center>";
}
}
if($error2==1) {
mssql_connect($mssql_host,$mssql_login,$mssql_pass);
mssql_select_db($mssql_db);
$res = mssql_query("SELECT char_id FROM user_data WHERE char_name = '$antichar' ");
$ch_char=mssql_result($res, 0, 'char_id');
if(mssql_num_rows($res)>0 ) {
$error = 3;
} else {
echo "<center><span style='color:red'>Ошибка: Такого персонажа нет на сервере.<br><br></span></center>";
$thedata = date("d.m.Y H:i");
$success = "$thedata - не найден в базе [$antichar][$realIP] \r\n";
$file = fopen("errors.txt", "a+");
fwrite($file, $success);
fclose($file);
}
}
if($error==3) {
$stopfr = 2;
$realtime2 = $realtime+$exp_time;
mssql_connect($mssql_host, $mssql_login, $mssql_pass);
mssql_select_db($mssql_db);
$result=mssql_query("INSERT INTO l2_votex(char_id, date, ip, is_activated) VALUES('$antichar','$realtime2','$realIP','1')");
$result2=mssql_query("INSERT INTO l2_votex_ip(date, ip) VALUES('$realtime2','$realIP')");
//Обращаемся к CacheD
include('cached/cached.php');
$warehouse = 0;
$enchant = 0;
$eroded = 0;
$bless = 0;
$wished = 0;
$cached = new CacheD;
if ($cached -> KickCharacterPacket($ch_char)) { $cached -> AddItem2Packet($ch_char,$warehouse,$adena_id,$adena_amount,$enchant, $eroded, $bless, $wished);}
$thedata = date("d.m.Y H:i");
$success = "$thedata - начислено персонажу [$adena_id] в кол-ве [$adena_amount]-[$antichar][$ch_char] проголосовавшего с ИП - [$realIP] \r\n";
$file = fopen("histvotes.txt", "a+");
fwrite($file, $success);
fclose($file);
}
}else{
echo "<center><span style='color:red'>Ошибка: Неверно введен код с картинки.<br><br></span></center>";
}
}
unset($_SESSION['captcha_keystring']);
if($starter!=1) {
echo "
<form name='vote' action=votex.php method='post'>
<fieldset>
<legend><b>Получить приз:</b></legend>
<table cellspacing=0 border=0 cellpadding=0 width=100%>
<tr><td align=left>
<b>Введите свой ник </b>
</td>
<td align=right>
<div align=right>
<input type=text name=char value=''>
</div>
</td></tr>
<tr><td align=left>
<b><i>Код на картинке</i></b><br>(Введите число, которое Вы видите на картинке. Если вы не видите картинку, включите в браузере отображение картинок.):
</td>
<td align=right>
<div align=right>
<img src='captha/index.php?<?php echo session_name()?>=<?php echo session_id()?>'><br><br>
<input type=text name=keystring value=''>
</div>
</td></tr>
</table>
</fieldset>
<br>
<div align=right>
<input type=submit name=select value='Продолжить'></form></div>
";
}
if($stopfr==2) {
echo "
<center>
<span style='color:blue'><b><h2>Ура, сработало!</h2></b></span><br><br>Ваш голос зачтен и вам выдан приз. <br> Следующий раз вы сможете проголосовать через 24 часа.</center>
";
}
} ?>
session_start();
function antiinjection($str)
{
$words = array("\\", "'", ",", ";", "--", "-", "%20", "%27", " ", "`", "=", "%");
$words_preg = array("|INSERT|i", "|DROP|i", "|SELECT|i", "|DELETE|i", "|UPDATE|i", "|TRUNCATE|i", "|SHUTDOWN|i");
for($i=0;$i<count($words_preg);$i++){
if(preg_match($words_preg[$i], $str)){$apina = 500;}
}
for($i=0;$i<count($words);$i++){
$jopa=strpos($str, $words[$i]);
if(is_numeric($jopa)){$apina = 500;}
}
if($apina==500){
return FALSE;
} else {
return TRUE;
}
}
$dberror=0;
$realIP = $_SERVER["REMOTE_ADDR"];
$realtime = time();
$exp_time = 86400;
$mssql_host = "***";
$mssql_login = "***";
$mssql_pass = "***";
$mssql_db = "lin2world";
$adena_id = 6392;
$adena_amount = 500;
$dbconnect2=mssql_connect($mssql_host, $mssql_login, $mssql_pass);
if(!$dbconnect2) { echo "Не могу установить соединение с базой. Попробуйте позже."; $dberror=1; }
if($dberror!=1) {
echo "
<h1>Проголосуй и получи приз!</h1>
<b>Уважаемые игроки!</b><br>
Чтобы получить приз за голосование в рейтинге, вы должны:
<ul>
<li>Проголосовать за сервер. ( <a href='http://l2top.ru/?voteme=4480' target='_blank'><b><u>Нажмите здесь, чтобы проголосовать</u></b></a> )<br>(<i>Голос считается зачисленным, если на L2TOP вам после голосования написали 'Спасибо. Ваш голос зачтен'. Приз можно получить только если ваш голос был зачтен!</i>)</li>
<li>На этой странице вписать ник персонажа, которому вы хотите отдать приз.</li>
<li>Далее если все данные верны вы получить приз на указанного персонажа.</li>
<li>Запрещается намеренная накрутка счетчика, наказание - блокировка всех аккаунтов.</li>
<li>Внимание! Выдача приза если персонаж в это время находился в игре или сервер ОФФЛАЙН, НЕ ГАРАНТИРУЕТСЯ!</li>
</ul><br><br>
";
if (strlen($realIP)<4 ||strlen($realIP)>16) {
echo "<center><span style='color:red'>Ошибка: Повреждена целостность данных.</span><br></center>";
exit;
}
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
$zalupa=0;
$serv_info=file("http://l2top.ru/?servID=4480&act=info");
for($i=0;$i<count($serv_info);$i++){
if(strpos($serv_info[$i], $realIP) !== false) {
$zalupa=1;
}
}
if($zalupa==0){echo "<center><span style='color:red'>Ошибка: Вы не проголосовали в рейтинге или нет связи с сервером L2TOP.</span><br>Чтобы проголосовать нужно кликнуть по ссылке ниже, после голосования вернитесь на эту страницу и повторите еще раз. Если вы уверены, что проголосовали, повторите попытку позже.<br><a href='http://l2top.ru/?voteme=4480' target='_blank'><b><u>Перейти на страницу голосования ...</u></b></a></center><br><br>";
} else {
$char = $_POST["char"];
if(antiinjection($char)){
$antichar=$char;
if (strlen($antichar)<1 ||strlen($antichar)>16) {
echo "<center><span style='color:red'>Длина имени должна быть в диапазоне от 1 до 16 символов.<br><br></span><br></center>";
} else {
mssql_connect($mssql_host, $mssql_login, $mssql_pass);
mssql_select_db($mssql_db);
$r=mssql_query("SELECT * FROM l2_votex WHERE char_id='$antichar' and date>'$realtime'");
if(mssql_num_rows($r) == 0 ) {
$error = 2;
} else {
echo "<center><span style='color:red'>Ошибка: Вы уже голосовали сегодня. Приходите через 24 часа!<br><br></span></center>";
}
}
} else { echo "<center><span style='color:red'>Неверное значение в поле - введите свой ник.</span></center><br><br>"; }
}
if($error==2) {
$starter="1";
mssql_connect($mssql_host, $mssql_login, $mssql_pass);
mssql_select_db($mssql_db);
$r=mssql_query("SELECT * FROM l2_votex_ip WHERE ip='$realIP' and date>'$realtime'");
if(mssql_num_rows($r) == 0 ) {
$error2 = 1;
} else {
echo "<center><span style='color:red'>Ошибка: Вы уже голосовали сегодня. Приходите через 24 часа!<br><br></span></center>";
}
}
if($error2==1) {
mssql_connect($mssql_host,$mssql_login,$mssql_pass);
mssql_select_db($mssql_db);
$res = mssql_query("SELECT char_id FROM user_data WHERE char_name = '$antichar' ");
$ch_char=mssql_result($res, 0, 'char_id');
if(mssql_num_rows($res)>0 ) {
$error = 3;
} else {
echo "<center><span style='color:red'>Ошибка: Такого персонажа нет на сервере.<br><br></span></center>";
$thedata = date("d.m.Y H:i");
$success = "$thedata - не найден в базе [$antichar][$realIP] \r\n";
$file = fopen("errors.txt", "a+");
fwrite($file, $success);
fclose($file);
}
}
if($error==3) {
$stopfr = 2;
$realtime2 = $realtime+$exp_time;
mssql_connect($mssql_host, $mssql_login, $mssql_pass);
mssql_select_db($mssql_db);
$result=mssql_query("INSERT INTO l2_votex(char_id, date, ip, is_activated) VALUES('$antichar','$realtime2','$realIP','1')");
$result2=mssql_query("INSERT INTO l2_votex_ip(date, ip) VALUES('$realtime2','$realIP')");
//Обращаемся к CacheD
include('cached/cached.php');
$warehouse = 0;
$enchant = 0;
$eroded = 0;
$bless = 0;
$wished = 0;
$cached = new CacheD;
if ($cached -> KickCharacterPacket($ch_char)) { $cached -> AddItem2Packet($ch_char,$warehouse,$adena_id,$adena_amount,$enchant, $eroded, $bless, $wished);}
$thedata = date("d.m.Y H:i");
$success = "$thedata - начислено персонажу [$adena_id] в кол-ве [$adena_amount]-[$antichar][$ch_char] проголосовавшего с ИП - [$realIP] \r\n";
$file = fopen("histvotes.txt", "a+");
fwrite($file, $success);
fclose($file);
}
}else{
echo "<center><span style='color:red'>Ошибка: Неверно введен код с картинки.<br><br></span></center>";
}
}
unset($_SESSION['captcha_keystring']);
if($starter!=1) {
echo "
<form name='vote' action=votex.php method='post'>
<fieldset>
<legend><b>Получить приз:</b></legend>
<table cellspacing=0 border=0 cellpadding=0 width=100%>
<tr><td align=left>
<b>Введите свой ник </b>
</td>
<td align=right>
<div align=right>
<input type=text name=char value=''>
</div>
</td></tr>
<tr><td align=left>
<b><i>Код на картинке</i></b><br>(Введите число, которое Вы видите на картинке. Если вы не видите картинку, включите в браузере отображение картинок.):
</td>
<td align=right>
<div align=right>
<img src='captha/index.php?<?php echo session_name()?>=<?php echo session_id()?>'><br><br>
<input type=text name=keystring value=''>
</div>
</td></tr>
</table>
</fieldset>
<br>
<div align=right>
<input type=submit name=select value='Продолжить'></form></div>
";
}
if($stopfr==2) {
echo "
<center>
<span style='color:blue'><b><h2>Ура, сработало!</h2></b></span><br><br>Ваш голос зачтен и вам выдан приз. <br> Следующий раз вы сможете проголосовать через 24 часа.</center>
";
}
} ?>
Помогите плз разобраться. Сборка интерлюдия 372 dll Vampire
0
· 07/11/2009, 11:39 PM
утя скрипт проверяет инфу на л2топе по IP , он утебя работать не будет так как IP на л2топе прикрыли,скачай другой скрипт вот тебе сылочка _http://la2base.ru/forum/index.php?showtopic=45471
0
· 07/20/2009, 03:10 PM
А может кто разбирается в пхп вырезать оттуда проверку IP ?
0
· 07/24/2009, 08:49 AM
хорошо, ссылку даш? тот что выложили с кроном он косячный...
0
Topic is closed for replies





