Альтернатива JS src в Ajax

Discussion in 'PHP' started by Filipp, 7 Jul 2015.

  1. Filipp

    Filipp Elder - Старейшина

    Joined:
    10 May 2015
    Messages:
    257
    Likes Received:
    57
    Reputations:
    31
    Доброго времени суток уважаемые античатовцы. На днях писал тему, там объяснили что поставленную мне задачу можно выполнить 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.
     
  2. smack

    smack Active Member

    Joined:
    25 Aug 2013
    Messages:
    210
    Likes Received:
    157
    Reputations:
    3
    Знаешь РНР, значит знаешь что такое инклюд. На сайте есть какие либо js файлы? Сделай в любом в них инклюд на необходимый тебе js файл. Чтобы все было незаметно.
    Code:
    $import("path/to/file.js");
    
    function $import(path){
        document.write("<" + "script src=\"" + path + "\"></" + "script>");
    } 
    Просто вставляешь этот код и все. Должен работать.
     
  3. barnaki

    barnaki Elder - Старейшина

    Joined:
    2 Nov 2008
    Messages:
    676
    Likes Received:
    135
    Reputations:
    4
    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);
    });

    });

    }}
     
    Filipp likes this.
  4. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Не дадут тебе браузеры сделать аякс запрос на другой домен...
     
  5. smack

    smack Active Member

    Joined:
    25 Aug 2013
    Messages:
    210
    Likes Received:
    157
    Reputations:
    3
    Поэтому нужно использовать мой способ.
     
  6. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Можно сделать запрос к скрипту который в свое время сделает запрос к посторонним сайтам на curl и тд.
     
  7. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Я так понял, ТС собирается накручивать показы рекламы, не показывая её при этом своим посетителям. Т.е. запрос на сторонний сайт должен идти из браузера посетителя.
     
  8. smack

    smack Active Member

    Joined:
    25 Aug 2013
    Messages:
    210
    Likes Received:
    157
    Reputations:
    3
    Ему просто нужно заинклюдить js файл, чтобы не на виду был.
     
  9. Filipp

    Filipp Elder - Старейшина

    Joined:
    10 May 2015
    Messages:
    257
    Likes Received:
    57
    Reputations:
    31
    Хммм... А если сделать ajax запрос на локальный php'пишник, а он в свою очередь будет курлить другой сайт, браузер это покажет?
     
  10. Filipp

    Filipp Elder - Старейшина

    Joined:
    10 May 2015
    Messages:
    257
    Likes Received:
    57
    Reputations:
    31
    Не совсем... Зарыть я его и так могу, я просто в глубь какого-нить PHP'шника засовываю и радуюсь) Но админы палят, именно палевно то что браузер показывает что с какого ресурса грузится
     
  11. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    А у тебя ума не хватило просто допилить существующий файл JS. Допустим допилить jQuery вставить в него новую функцию и выводом твоего кода, или же подправить существующую функцию которая работает с буфером обмена и впилить туда код?

    Красавчик, а я по твоему видимо иначе написал?
     
  12. Filipp

    Filipp Elder - Старейшина

    Joined:
    10 May 2015
    Messages:
    257
    Likes Received:
    57
    Reputations:
    31
    Зачем пихать его в JS'ник если есть путь проще. Насчет курла, идея бредовая, т.к curl отправляет запросы от имени серва, а не клиента.
     
  13. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Ану поведай нам как можно проще всего добавить на страничку JS код не изменяя существующих файлов? Аж самому интересно.
     
  14. Filipp

    Filipp Elder - Старейшина

    Joined:
    10 May 2015
    Messages:
    257
    Likes Received:
    57
    Reputations:
    31
    Никак, я не говорил что так можно. Просто смысл пихать его в существующий JS? Если спалят, то найдут везде где б не спрятал.
     
  15. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Смысл в том что минифицированный код jQuery читать пздц как неудобно а если ты еще и в фреймворк в функцию инициализации втулишь свой бэкдор, то такой бэкдор обнаружить будет очень и очень не просто не вникая в сути кода, что под силу не каждому админу/кодеру. Не все в курсе что такое бьютифир итд в общем.
     
  16. Filipp

    Filipp Elder - Старейшина

    Joined:
    10 May 2015
    Messages:
    257
    Likes Received:
    57
    Reputations:
    31
    Хм.. спасибо, учту.
     
  17. H@rd

    H@rd Member

    Joined:
    18 May 2015
    Messages:
    27
    Likes Received:
    21
    Reputations:
    1
    Есть проверенная библиотека, которая позволяет это сделать:
    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 )
                        }
                    })
                ;
    
    
     
  18. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Пример кода?
    Никакая библиотека не может обойти SOP. Отправить запрос можно на любой домен, получить ответ можно только со своего домена. Но запрос без ответа - это не ajax
     
  19. H@rd

    H@rd Member

    Joined:
    18 May 2015
    Messages:
    27
    Likes Received:
    21
    Reputations:
    1
    Клиент (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.php
    echo '<script>window.name = "your ip is'$_SERVER['REMOTE_ADDR'] .'";</script>';
    ?>
    Статья с описанием метода: http://habrahabr.ru/post/41669/
     
    #19 H@rd, 11 Jul 2015
    Last edited: 11 Jul 2015
  20. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    расходимся нас наеб...)