URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 5501
[ Назад ]

Исходное сообщение
"squid подмена банеров на свои"

Отправлено didl_alm , 08-Апр-08 13:50 
интересует, как подменять баннеры на свои. не резать или подменять картинку баннера, а именно замена кода баннера на свой.
куда смотреть?

Содержание

Сообщения в этом обсуждении
"squid подмена банеров на свои"
Отправлено adews , 09-Апр-08 16:27 
вы хотите в коде HTML подменить часть текста, в которой прописаны параметры баннера?


"squid подмена банеров на свои"
Отправлено didl_alm , 09-Апр-08 17:17 
>вы хотите в коде HTML подменить часть текста, в которой прописаны параметры
>баннера?

да! не знаю с какой стороны подойти


"squid подмена банеров на свои"
Отправлено DeadLoco , 10-Апр-08 13:11 
>да! не знаю с какой стороны подойти

По ацлям опр.хосты редиректим на скрипт запросами, типа:

localhost/cgi-bin/wtf?http://here.original.url/must/be/placed.htm

Скрипт, скажем, wget-ом выкачивает заданный объект, затем делает подстановку:

    $mycode = "<iframe bla-bla-bla>";
    $page =~ s/(^.*?)<!-- banner system AAA -->.*?<!-- endof AAA -->(.*&)/$1 $mycode $2/im;

и выплевывает его в стдаут с положенными шттп-хедерами. Сквид откачивает объект и возвращает его клиенту. Клиент щяслив. Разумеется, если модифицируемый хост не требует кукизов и не работает через POST.

К сожалению, не знаю менее накладного механизма впиндюривать клиентам подменные объекты.


"squid подмена банеров на свои"
Отправлено didl_alm , 10-Апр-08 13:30 
>[оверквотинг удален]
>Скрипт, скажем, wget-ом выкачивает заданный объект, затем делает подстановку:
>
>    $mycode = "<iframe bla-bla-bla>";
>    $page =~ s/(^.*?)<!-- banner system AAA -->.*?<!-- endof AAA -->(.*&)/$1 $mycode $2/im;
>
>и выплевывает его в стдаут с положенными шттп-хедерами. Сквид откачивает объект и
>возвращает его клиенту. Клиент щяслив. Разумеется, если модифицируемый хост не требует
>кукизов и не работает через POST.
>
>К сожалению, не знаю менее накладного механизма впиндюривать клиентам подменные объекты.

хуясе, чуть легче чем вывести спутник на орбиту, с протонной пушкой на борту. :)
не, серьёзно, подмена в сквиде части кода невозможна?


"squid подмена банеров на свои"
Отправлено PS , 10-Апр-08 18:20 
>[оверквотинг удален]
>>
>>и выплевывает его в стдаут с положенными шттп-хедерами. Сквид откачивает объект и
>>возвращает его клиенту. Клиент щяслив. Разумеется, если модифицируемый хост не требует
>>кукизов и не работает через POST.
>>
>>К сожалению, не знаю менее накладного механизма впиндюривать клиентам подменные объекты.
>
>хуясе, чуть легче чем вывести спутник на орбиту, с протонной пушкой на
>борту. :)
>не, серьёзно, подмена в сквиде части кода невозможна?

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


"squid подмена банеров на свои"
Отправлено adews , 10-Апр-08 23:23 
>хуясе, чуть легче чем вывести спутник на орбиту, с протонной пушкой на
>борту. :)
>не, серьёзно, подмена в сквиде части кода невозможна?

Неа. Сквид занимается тем, что на основе конфигурации принимает решения о разрешении доступа к тому или иному URL И необходимости кеширования результата.  Анализом кода передаваемых объектов сквид не занимается.

Фактически, задачу Вы ставите так:
1. сквид получает запрос на страницу и закачивает её себе в кэш.
2. по определённому правилу отправляет страницу скрипту(программе) на обработку
3. скрипт делает поиск в тексте на наличие определённых фрагментов и подменяет их на  то, что прописано в конфиге
4. скрипт отдаёт изменённый текст сквиду
5. сквид отдаёт изменённый текст клиенту.
в этой схеме есть одно крайне тонкое место,- пункт 3,- в режиме реального времени такая схема практически неработоспособна (если конечно у Вас нет серьёзных мощностей)

Думается, что проще будет зайти с другой стороны,- подумать что Вы "на самом деле" хотите сделать и пересмотреть архитектуру.



"squid подмена банеров на свои"
Отправлено didl_alm , 11-Апр-08 12:19 

>Думается, что проще будет зайти с другой стороны,- подумать что Вы "на
>самом деле" хотите сделать и пересмотреть архитектуру.

вопрос простой и корыстный :) хотя больше интересует сторона реализации идеи.
тупо заменять рекламу на свою (например adsense), пользователям не всё ли равно какую рекламу смотреть?

ЗЫ: пожалуйста не рассказывайте мне про моральную сторону вопроса


"squid подмена банеров на свои"
Отправлено adews , 13-Апр-08 22:03 
Мне плевать на мораль, мне интересно технически:
Таки чем Вас не устраивает провто заменять баннеры определённых размеров на свои?
>ЗЫ: пожалуйста не рассказывайте мне про моральную сторону вопроса

"squid подмена банеров на свои"
Отправлено didl_alm , 15-Апр-08 08:34 
>Мне плевать на мораль, мне интересно технически:
>Таки чем Вас не устраивает провто заменять баннеры определённых размеров на свои?

банер - это не только картинка, это кусок кода


"squid подмена банеров на свои"
Отправлено DeadLoco , 14-Апр-08 23:39 
>Сквид занимается тем, что принимает решения о разрешении
>доступа к тому или иному URL И необходимости кеширования результата.  
>Анализом кода передаваемых объектов сквид не занимается.

Совершенно верно. Предмет работы сквида - URI+хедеры шттп-запроса/ответа. Тело запроса/ответа сквида не касается, и может быть проанализировано только через внешние хелперы.

Кстати, я был неправ выше. Кукизы передаются в хедерах запроса, и если все тело запроса слить на хелпер, то отработают и POST, и кукизы.


"squid подмена банеров на свои"
Отправлено DeadLoco , 14-Апр-08 23:45 
> чуть легче чем вывести спутник на орбиту, с протонной пушкой на борту. :)

На самом деле, задача решаема сравнительно просто, но возникнет проблема прожорливости собственно подстановщика кода. Если допустить, что есть таблица замены кода ИХ:НАШ в n позиций, то для КАЖДОГО прокачиваемого объекта придется выполнить n/2 поисков регулярных выражений в теле ответа. Думаю, что для реализации масштабной подмены понадобится молотилка, стоимость которой превысит ожидаемый экономэффект от рекламной кампании.



"squid подмена банеров на свои"
Отправлено didl_alm , 15-Апр-08 08:36 
>> чуть легче чем вывести спутник на орбиту, с протонной пушкой на борту. :)
>
>На самом деле, задача решаема сравнительно просто, но возникнет проблема прожорливости собственно
>подстановщика кода. Если допустить, что есть таблица замены кода ИХ:НАШ в
>n позиций, то для КАЖДОГО прокачиваемого объекта придется выполнить n/2 поисков
>регулярных выражений в теле ответа. Думаю, что для реализации масштабной подмены
>понадобится молотилка, стоимость которой превысит ожидаемый экономэффект от рекламной кампании.

ладно, упрощаем немного задачу. заменять нужно только на сайтах X и Y. как?


"squid подмена банеров на свои"
Отправлено bytestore , 19-Мрт-09 15:44 
>>> чуть легче чем вывести спутник на орбиту, с протонной пушкой на борту. :)
>>
>>На самом деле, задача решаема сравнительно просто, но возникнет проблема прожорливости собственно
>>подстановщика кода. Если допустить, что есть таблица замены кода ИХ:НАШ в
>>n позиций, то для КАЖДОГО прокачиваемого объекта придется выполнить n/2 поисков
>>регулярных выражений в теле ответа. Думаю, что для реализации масштабной подмены
>>понадобится молотилка, стоимость которой превысит ожидаемый экономэффект от рекламной кампании.
>
>ладно, упрощаем немного задачу. заменять нужно только на сайтах X и Y.
>как?

Думаю что нужно менять только кусок url
http://u7632.07.spylog.com/cnt?cid=763207&p=0&rn=0.913931073...
здесь cid=763207 это некий ID который получает бабки за показ
значит нам нужно парсить spylog.com/cnt?cid= и менять id на свой
Как бы скрипт написать?


"squid подмена банеров на свои"
Отправлено didl_alm , 19-Мрт-09 16:09 
>>ладно, упрощаем немного задачу. заменять нужно только на сайтах X и Y.
>>как?
>
>Думаю что нужно менять только кусок url
>http://u7632.07.spylog.com/cnt?cid=763207&p=0&rn=0.913931073...
>здесь cid=763207 это некий ID который получает бабки за показ
>значит нам нужно парсить spylog.com/cnt?cid= и менять id на свой
>Как бы скрипт написать?

а вот тут и основная проблема. сквид контент фильтрить не умеет. редиректор может менять урлы. но в случае например, с гуглом или яндексом, id идет не в урле.


"squid подмена банеров на свои"
Отправлено bytestore , 19-Мрт-09 17:11 
>а вот тут и основная проблема. сквид контент фильтрить не умеет. редиректор
>может менять урлы. но в случае например, с гуглом или яндексом,
>id идет не в урле.

ну значит просто ограничимся баннерами с tbn, spylog и тому подобных