Что-то типа консольного компилятора Javascript есть в природе?

Discussion in 'PHP' started by Alinezii, 15 Oct 2009.

  1. Alinezii

    Alinezii New Member

    Joined:
    9 Aug 2009
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Ну может не компилятор называется, но нужно что:
    есть к примеру html с javascript, нужно получить из нее то, что будет видеть юзер в браузере.

    вообще надо это дело как-то встроить в php скрипт.
    Ну пока думаю как-то POST-ом Web серверу отправлять Html+javascript, а на выходе получить чистый html , где всякие document.write('xxx') преобразованы в xxx.

    Короче нужен какой-то движок от браузера, может что-то типа lynx, только с поддержкой Javascript.

    В какую сторону гуглить, подскажите?
     
  2. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    апачи :) потом в любом браузере просмотр html кода делаешь
     
  3. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    эмм..достаточно просто открыть html файл в любой браузере
     
  4. Alinezii

    Alinezii New Member

    Joined:
    9 Aug 2009
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Это я все понимаю. :)
    Мне нужно делать это из пхп скрипта. Т.е. есть некая защита в виде javascript вставки, которая генерит <input ...>. Распарсить сложно, ибо код меняется. Вот нужно что-то что бы умело из php скрипта вызвать javascript, а дял этого надо что-то типа консольного браузера, который бы выводил не на экран, а записывал результат в файл.
     
  5. shellz[21h]

    shellz[21h] Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    311
    Likes Received:
    68
    Reputations:
    6
    тебе нужно интерпретировать js код в php? такое не встречал, тоже интересно.. если такое имеется.
     
  6. Alinezii

    Alinezii New Member

    Joined:
    9 Aug 2009
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    shellz[21h], что-то типа того. Но насколько я понимаю ни кто таким извратом не страдает. Писать эмулятор яваскрипта под пхп это бред. Можно сделать проще.
    Надо что-то типа ядра браузера. чтобы запускалось типо "firefox -console -I in.html -O out.txt"
    а дальше вызываем это из скрипта и подтягиваем файлик out.txt.
    Ну или куда-то на сервак повесить. Чтобы мы ему post запрос, а он нам откомпиленный результат.
     
  7. ЕгоАкк

    ЕгоАкк Banned

    Joined:
    21 Sep 2009
    Messages:
    84
    Likes Received:
    18
    Reputations:
    0
    http://ru.wikipedia.org/wiki/SpiderMonkey
    http://aurore.net/projects/php-js/
     
    1 person likes this.
  8. altblitz

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

    Joined:
    5 Jun 2009
    Messages:
    3,691
    Likes Received:
    3,145
    Reputations:
    236
    Лисичка имеет консольный дебаггер, Tools->Error Console.
    ошибки там и показывает.

    можно ли записать в файл, смотрите сами :)
     
    #8 altblitz, 15 Oct 2009
    Last edited: 15 Oct 2009
  9. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    http://j4p5.sourceforge.net/

    J4P5 is a JavaScript interpreter written in PHP 5

    оно?

    если правильно понял, тебе всё равно насадку самому придётся написать, т.к. этот парсер не универсальный, и запутанный яваскрипт вряд ли съест.
     
    #9 imajo.ati, 15 Oct 2009
    Last edited: 15 Oct 2009
  10. Alinezii

    Alinezii New Member

    Joined:
    9 Aug 2009
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    majo.ati почти получилось, вроде и не сложная функция, но почему-то с разбегу непошло, наверное придется немного допились напильником.

    А расшифровать надо вот такой код (юкоз).

    Code:
    var _y7M=''; function _dC(s){ var i;var r=""; var l=s.length-1; var k=s.substr(l,1); for (i=0;i<l;i++){ c=s.charCodeAt(i)-k;  if(c<32){ c=127-(32-c);} r+=String.fromCharCode(c); } return r;} _y7M=_dC('Ansuzy%y~ujB\'mniijs\'%sfrjB\'{pk\'%{fqzjB\'9;86;9\'%4C5');
    Парсить лень, код меняется.
     
  11. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    я так понял тебе нужно получить содержимое уже отрендеренной страницы?
    Недавно занимался поиском подобного софта, могу сразу сказать в паблике бесплатного нормально работающего ты ничего не найдеш. Только под заказ за $.
     
    #11 nc.STRIEM, 20 Oct 2009
    Last edited: 20 Oct 2009
  12. Alinezii

    Alinezii New Member

    Joined:
    9 Aug 2009
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Да, ладно, спасибо, руки вроде откуда надо растут.

    А вообще неплохая защита от спама выходит. Дефолтные боты обламаются.

    а яваскрипт код, что я приводил выше генерит что-то типа
    <input type="hidden" name="abc" value="12345">
    ну дальше понятно.
     
  13. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Можно пример страницы где такое генерируется?
     
    _________________________
  14. emmy

    emmy Member

    Joined:
    12 Oct 2009
    Messages:
    76
    Likes Received:
    17
    Reputations:
    8
    http://punx.ucoz.ru/admin
     
  15. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Так там динамический только аргумент функции, только его парсить надо и всё
     
    _________________________
  16. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    кодится за 5 минут на шарпах
     
  17. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    http://taran.su/16-javascript-captcha.html
     
  18. Alinezii

    Alinezii New Member

    Joined:
    9 Aug 2009
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Немного подниму тему. Опять столкнулся с данной задачей.
    Есть VPS под дебианом, есть задача на нем любым способом преобразовывать html страничку с javascript вставками в html, который видит человек.
    Т.е.
    <div>
    <script>
    document.write("bla bla bla")
    </script>
    </div>
    должно преобразоваться в <div>bla bla bla</div>

    все вышеприведенные в этом топике работает как-то не так, как хотелось бы.

    Установил spidermonkey-bin ни как не пойму как им пользоваться. :) Ни кто не разбирался с ним?
     
    #18 Alinezii, 24 Dec 2009
    Last edited: 24 Dec 2009