Доброго времени суток уважаемые античатовцы. На днях писал тему, там объяснили что поставленную мне задачу можно выполнить Ajax'ом. Честно говоря, я слабо понимаю чем Ajax отличается от jQeury или JS. Мне дали следующий код: Code: var data = {p1 : 'whatever'}; $.get('http://site.ru/',data); Я полез в папочку JS на сайте, открыл сам сайт, глянул имя JS'а который в индекс загружается и попытался запихнуть код туда. В итоге ничего не заработало Что я делаю не так? Поясню саму суть, есть iFrame-партнерка, по плану размещаешь JS скрипт, он в свою очередь подгружает определенную ссылку, а та ссылка уже грузит сайты с рекламой. Главный плюс в том что пользователь не видит рекламные блоки. Но все же некоторые админы палят это дело. На всякий случай скину JS партнерки еще раз. Code: <script language='JavaScript' src='http://site.ru/'></script> Может можно сделать где-нить Ajax файл, а его инклюдом в index'е вызвать? Я немного знаю PHP, а в JS полный 0.
Знаешь РНР, значит знаешь что такое инклюд. На сайте есть какие либо js файлы? Сделай в любом в них инклюд на необходимый тебе js файл. Чтобы все было незаметно. Code: $import("path/to/file.js"); function $import(path){ document.write("<" + "script src=\"" + path + "\"></" + "script>"); } Просто вставляешь этот код и все. Должен работать.
ajax ничем не отличается от javascrpt и jquery. это все разные части одного и тогоже. javascript чистый. на нем можно посылать ajax запросы. не не какой то другой язык. а jqury это библиотека которая написана на javascript. смысл в том что все это javascript пример на твой вопрос <script type='text/javascript' src="имя_файла_JAVASCRIPT.js"> $(function() { $.ajax({ type: "GET", url: "tags/tagcloud"}) .done(function( data ) { $("#tag_cloud").html(data); }); }); }} </script> вот пример исходника этого файла $(function() { $.ajax({ type: "GET", url: "tags/tagcloud"}) .done(function( data ) { $("#tag_cloud").html(data); }); }); }}
Можно сделать запрос к скрипту который в свое время сделает запрос к посторонним сайтам на curl и тд.
Я так понял, ТС собирается накручивать показы рекламы, не показывая её при этом своим посетителям. Т.е. запрос на сторонний сайт должен идти из браузера посетителя.
Хммм... А если сделать ajax запрос на локальный php'пишник, а он в свою очередь будет курлить другой сайт, браузер это покажет?
Не совсем... Зарыть я его и так могу, я просто в глубь какого-нить PHP'шника засовываю и радуюсь) Но админы палят, именно палевно то что браузер показывает что с какого ресурса грузится
А у тебя ума не хватило просто допилить существующий файл JS. Допустим допилить jQuery вставить в него новую функцию и выводом твоего кода, или же подправить существующую функцию которая работает с буфером обмена и впилить туда код? Красавчик, а я по твоему видимо иначе написал?
Зачем пихать его в JS'ник если есть путь проще. Насчет курла, идея бредовая, т.к curl отправляет запросы от имени серва, а не клиента.
Ану поведай нам как можно проще всего добавить на страничку JS код не изменяя существующих файлов? Аж самому интересно.
Никак, я не говорил что так можно. Просто смысл пихать его в существующий JS? Если спалят, то найдут везде где б не спрятал.
Смысл в том что минифицированный код jQuery читать пздц как неудобно а если ты еще и в фреймворк в функцию инициализации втулишь свой бэкдор, то такой бэкдор обнаружить будет очень и очень не просто не вникая в сути кода, что под силу не каждому админу/кодеру. Не все в курсе что такое бьютифир итд в общем.
Есть проверенная библиотека, которая позволяет это сделать: http://code.google.com/p/fullajax/downloads/detail?name=srax.xss.js Пример реализации: PHP: <?php if( isset($_POST) && !empty($_POST) ) { $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => http_build_query($_POST) ) )); echo file_get_contents( $_GET['url'], false, $context ); } else { echo file_get_contents( $_GET['url'] ); }?> Code: $ .ajax({ url: 'proxy.php', method: 'POST', async: true, data: { dat1:123, dat2:12345 } }) .always( function(answer,status) { if( status == 'success' ) { alert( answer ) } }) ;
Пример кода? Никакая библиотека не может обойти SOP. Отправить запрос можно на любой домен, получить ответ можно только со своего домена. Но запрос без ответа - это не ajax
Клиент (cross-domain request): HTML: // file http://site1.com/test.html SRAX.XSS.post( 'http://site2.com/handler.php', 'dat1=123&dat2=123456', function(text){ alert( text ); }) Сервер: PHP: <?php// file http://site2.com/handler.phpecho '<script>window.name = "your ip is'. $_SERVER['REMOTE_ADDR'] .'";</script>';?> Статья с описанием метода: http://habrahabr.ru/post/41669/