• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Нужно изменить 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 вот аська если вдруг кто напишет.
 
Мы в соцсетях:

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