Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как сделать BodyClick?
 
 автор: Владимир55   (07.05.2009 в 19:59)   письмо автору
 
 

Недавно обнаружил новый для себя вид рекламы, известный под названием BodyClick.
Суть его в том, что навязчивые летающие баннеры заменяются установкой некоего кода, в результате чего при любом клике на страницу (не на ссылку и не на баннер, а при клике на любую часть открытого файла) под открытой страницей формируется окно, в котором открыта страница рекламируемого сайта. Эту страницу пользователь увидит лишь тогда, когда завершит просмотр интересующего его сайта.

Пример кода, устанавливаемого на странице, приведен иниже.
<script language="JavaScript" charset="windows-1251" src="http://pop-traf.com/js/bodyclick.php?id=102"></script>

Насколько я понимаю, это всего лишь запуск файла bodyclick.php, находящегося на рекламном сервере pop-traf.com.

А что должно быть в файле bodyclick.php для организации нового окна под просматриваемой страницей?

  Ответить  
 
 автор: sim5   (07.05.2009 в 22:00)   письмо автору
 
   для: Владимир55   (07.05.2009 в 19:59)
 

Это подключение файла JS. Откройте его и посмотрите.

  Ответить  
 
 автор: Владимир55   (07.05.2009 в 23:11)   письмо автору
 
   для: sim5   (07.05.2009 в 22:00)
 

Там какая-то жуть в полосочку!

Новый наверное создать проще, чем в этом ОГРОМНОМ наборе символов разобраться!

  Ответить  
 
 автор: sim5   (07.05.2009 в 23:14)   письмо автору
 
   для: Владимир55   (07.05.2009 в 23:11)
 

Ну то что вы привели, это вызов (подключение) внешенего JS-файла. РНР сценарию (который в адресе указан) передается параметр, в зависимоти от него, он либо формирует определенный JS-сценарий, либо определяет переменные для JS, и выдает этот файл. А что он делает, так это надо загрузить его и посмотреть.

  Ответить  
 
 автор: Владимир55   (07.05.2009 в 23:17)   письмо автору
 
   для: sim5   (07.05.2009 в 23:14)
 

Вы правы - там скрипт и есть. Но нечитаемый...

  Ответить  
 
 автор: sim5   (07.05.2009 в 23:20)   письмо автору
 
   для: Владимир55   (07.05.2009 в 23:17)
 

Такого быть не может! Его можно взять из кеша браузера, либо РНР-скриптом считать - file_get_contents.

  Ответить  
 
 автор: Владимир55   (07.05.2009 в 23:41)   письмо автору
 
   для: sim5   (07.05.2009 в 23:20)
 

Я не точно выразился. Скрипт читаемый. Но там трудно что-то понять, ибо он ОЧЕНЬ большой.

  Ответить  
 
 автор: sim5   (07.05.2009 в 23:47)   письмо автору
 
   для: Владимир55   (07.05.2009 в 23:41)
 

Ну это уже другой вопрос - изучать надо его, а если он к тому же упакованный, то распаковать предварительно.

  Ответить  
 
 автор: Владимир55   (08.05.2009 в 09:15)   письмо автору
 
   для: sim5   (07.05.2009 в 23:47)
 

Там вот такой код:

if (navigator.cookieEnabled)
  {var pop_under = null;var pop_cookie_name = "adminstation_popup";var pop_timeout = 720;function pop_cookie_enabled(){var is_enabled = false;if (!window.opera && !navigator.cookieEnabled)return is_enabled;if (typeof document.cookie == 'string')if (document.cookie.length == 0){document.cookie = "test";is_enabled = document.cookie == 'test';document.cookie = '';}
else{is_enabled = true;}return is_enabled;}function pop_getCookie(name){var cookie = " " + document.cookie;var search = " " + name + "=";var setStr = null;var offset = 0;var end = 0;if (cookie.length > 0){offset = cookie.indexOf(search);if (offset != -1){offset += search.length;end = cookie.indexOf(";", offset);if (end == -1){end = cookie.length;}
setStr = unescape(cookie.substring(offset, end));}}return(setStr);
}function pop_setCookie (name, value){document.cookie = name + "=" + escape(value) + "; expires=Friday,31-Dec-50 23:59:59 GMT; path=/;";
}function show_pop(){var pop_wnd = "http://pop-traf.com/click/body.php?id=1070&hash=5ee305c6c8fb63ecec2c265f97b7bca5";var fea_wnd = "scrollbars=1,resizable=1,toolbar=1,location=1,menubar=1,status=1,directories=0";var need_open = true;if (document.onclick_copy != null)document.onclick_copy();if (document.body.onbeforeunload_copy != null)document.body.onbeforeunload_copy();if (pop_under != null){if (!pop_under.closed)need_open = false;}if (need_open){if (pop_cookie_enabled()){val = pop_getCookie(pop_cookie_name);if (val != null){now = new Date();val2 = new Date(val);
utc1 = Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds());
utc2 = Date.UTC(val2.getFullYear(), val2.getMonth(), val2.getDate(), val2.getHours(), val2.getMinutes(), val2.getSeconds());
if ((utc1 - utc2)/1000 < pop_timeout*60)
{need_open = false;}}}}if (need_open){under = window.open(pop_wnd, "", fea_wnd);under.blur();window.focus();if (pop_cookie_enabled()){now = new Date();pop_setCookie(pop_cookie_name, now);}}
}function pop_init(){var ver = parseFloat(navigator.appVersion);var ver2 = (navigator.userAgent.indexOf("Windows 95")>=0 || navigator.userAgent.indexOf("Windows 98")>=0 || navigator.userAgent.indexOf("Windows NT")>=0 )&&(navigator.userAgent.indexOf('Opera') == -1)&&(navigator.appName != 'Netscape') &&(navigator.userAgent.indexOf('MSIE') > -1) &&(navigator.userAgent.indexOf('SV1') > -1) &&(ver >= 4);
if (ver2){if (document.links){for (var i=0; i<document.links.length; i++){if (document.links[i].target != "_blank"){document.links[i].onclick_copy = document.links[i].onclick;document.links[i].onclick = show_pop;}}}}document.onclick_copy = document.onclick;document.onmouseup = show_pop;}pop_init();}


Насколько я понимаю, здесь устанавливаются cookie на заданное время и рекламируемая страница открывается лишь тогда, когда время жизни cookie истекло.

Это свойство мне не нужно.

А вот где сама функция запуска рекламной страницы?

(Я хочу стать сам себе рекламистом, разместив на своем сайте свою же рекламу другого своего сайта).

  Ответить  
 
 автор: sim5   (08.05.2009 в 09:23)   письмо автору
 
   для: Владимир55   (08.05.2009 в 09:15)
 

Это функции открытя окна и его вызова по событию document.onclick:
function show_pop()
function pop_init()
В общем это надо с помощью клавиш пробела и Enter привести этот код к человеческому виду и изучить.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования