• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Нужно изменить Php скрипт и парочку команд к Mysql

  • Автор темы Bios23rus
  • Дата начала
B

Bios23rus

Вообщем у меня есть скрипт типо поп андера,но работает он немного криво.
Он работает так
Показывается банер,ip адресу этот банер больше не показывается,потом нету проверки тоесть можно накручивать с одного ip адреса хоть миллион долларов.
А нужно чтоб банер показывался пока его не закроют,после закрытия естественно открывается окно ниже(и банер этому ip больше не показывался),накручивать тоже нельзя было тоесть если этот ip адрес уже закрыл этот банер и попробывал накрутить тоесть закрыть его ещё раз с тогоже ip адреса то это бы не засчитывалось.Если возможно то сделать так,чтоб банер загружался например только русским браузерам или ip адресам,а другим нет.
Я понимаю,что это всегда делается за деньги,но я уже влетел на деньги купил скрипт который нефига не работает как надо.Заранее всем спасибо,буду всем благодарен.
Вот собственно скрипт той страницы где всё это происходит.
[codebox]<?php

error_reporting(0);
session_start();
@require_once("config.php");
@require_once("functions.php");
if(isset($_GET['id']))
{
$id = intval($_GET['id']);
$sql = mysql_query("SELECT * FROM `users` WHERE `id` = '".$id."'");
if(mysql_num_rows($sql) > 0)
{
$s_sql = mysql_fetch_array($sql);
if(empty($s_sql['sites'])){exit();}

$ip = ip();
$dat = date('d.m.Y');
$time = date("H:i:s");
$ref = htmlspecialchars(stripslashes(getenv("HTTP_REFERER")));
$ua = htmlspecialchars(stripslashes(getenv("HTTP_USER_AGENT")));
$site = $ref;
$query = mysql_query("SELECT * FROM `stat` WHERE `userid` = '".$id."' and `ip` = '".$ip."' and `dat` = '".$dat."' ");
if(mysql_num_rows($query) == 0)
{
/*var out='<script type="text/javascript" src="<?php echo $servname; ?>js.php"></script><link rel="stylesheet" href="<?php echo $servname; ?>pop_style.css" type="text/css">';
document.write(out);*/
$see_banners = mysql_query("SELECT * FROM `banners` ORDER by id DESC LIMIT 1");
if(mysql_num_rows($see_banners) == true)
{
$a = mysql_fetch_array($see_banners);
$last = $a['id'];
$ban_id = valid_id($last);

$ch = mysql_query("SELECT id,kod FROM `banners` WHERE `id` = '".$ban_id."'");
if(mysql_num_rows($ch) > 0)
{
$show = mysql_fetch_row($ch);
$show_ban = $show[1];
$banner_id = $show[0];

?>
document.write("<link rel='stylesheet' href='<?php echo $servname; ?>pop_style.css' type='text/css' /><div id='PopWin'>"
+"<div id='LinkDiv'><I><a href='http://www.net' target='_blank'>www.net</a></I></div>"
+"<div id='PopTit' onclick='DivOff()'><a title='Закрыть' href='java script: PopShow()'>Закрыть [X]</a>"
+"</div>"+"<center><?php echo $show_ban; ?>"+"</center>"+"</div>");

if (document.all['PopWin'].style)
window.setInterval("MovePop()", 10);
window.onerror=null;
document.body.scrollTop=10;

function DivOff() {
document.all['PopWin'].style.visibility='hidden';
}

function PopShow() {
window.open("java script:location.href='<?php echo $servname; ?>/popup.php?banner_id=<?php echo $banner_id; ?>&user_id=<?php echo $id; ?>&s=<?php echo session_id(); ?>';","PopWin","width=640,height=480,resizable=1,toolbar=1,location=1,menubar=1,status=1,sc
rollbars=1'");
window.focus();
DivOff();
}

function MovePop() {
if (document.body.scrollTop==0)
document.all['PopWin'].style.top=document.documentElement.scrollTop+150; else
document.all['PopWin'].style.top=document.body.scrollTop+150;
}

<?php

}

}

#Заносим новый хост
@mysql_query("INSERT INTO `stat` VALUES(null, '".$id."', '".$dat."', '".$time."', '".$site."', '".$ua."', '".$ip."')");

#Обновляем хосты
$kolvo = mysql_query("SELECT `hosts` FROM `users` WHERE `id` = '".$id."'");
$hs = mysql_fetch_array($kolvo);
$hosts = $hs['hosts'];
$hosts = $hosts + 1;
@mysql_query("UPDATE `users` SET `hosts` = '".$hosts."' WHERE `id` = '".$id."'");

#Обновляем показы баннера
$show_sql = mysql_fetch_array(mysql_query("SELECT * FROM `banners` WHERE `id` = '".$ban_id."'"));
$show = $show_sql['show_ban'] + 1;
@mysql_query("UPDATE banners SET `show_ban` = '".$show."' WHERE `id` = '".$ban_id."'");

}

}

}
elseif(!empty($_GET['banner_id']) && is_numeric($_GET['banner_id']) && !empty($_GET['user_id']) && is_numeric($_GET['user_id']) && !empty($_GET['s']))
{
$ref = htmlspecialchars(stripslashes(getenv("HTTP_REFERER")));
//printr($ref);
//if(empty($ref) or $_GET['s'] != session_id()) {exit();}
//if($_GET['s'] != session_id()) {exit();}

$banner_id = intval($_GET['banner_id']);
$user_id = intval($_GET['user_id']);
$sql = mysql_query("SELECT * FROM `banners` WHERE `id` = '".$banner_id."'");
if(mysql_num_rows($sql) > 0)
{
$r = mysql_fetch_array($sql);
$site = $r['site'];
if(empty($site)){$site = $servname;}
$click = $r['click_ban'] + 1;

#Обновляем клики
@mysql_query("UPDATE `banners` SET `click_ban` = '".$click."' WHERE `id` = '".$banner_id."'");

$sql1 = mysql_query("SELECT balans FROM `users` WHERE `id` = '".$user_id."'");
$sql2 = mysql_fetch_row(mysql_query("SELECT plus_wmz FROM `settings`"));
if(mysql_num_rows($sql1))
{
$b = mysql_fetch_row($sql1);
$balans = $b[0] + $sql2[0];
#Обновляем баланс юзера
@mysql_query("UPDATE users SET `balans` = '".$balans."' WHERE `id` = '".$user_id."'");
}
session_unset();
session_destroy();
header("location:".$site);
}
}

mysql_close();

?>[/codebox]
Ещё раз всем спасибо кто поможет.Не знаю как выразить свою благодарность тому кто поможет,но ещё раз спасибо.

Если можно то подробно написать,что сделать.Или что изменить.
 
B

Bios23rus

Так у меня партнёрка сама как pop-under.ru мне надо немного скрипт потделать,чтоб информация об ip хостах итп добавлялась только после нажатия на кнопку закрыть и всё.
 
B

Bios23rus

Ладно смотрю тут мне некто не поможет 9-869-641 вот аська если вдруг кто напишет.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!