Выполнить JS на стороне сервера?

Тема в разделе "PHP", создана пользователем greentyro, 10 дек 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. greentyro

    greentyro Писатель

    Регистр.:
    1 июл 2009
    Сообщения:
    5
    Симпатии:
    0
    Подскажите, пожалуйста, как можно решить следующую задачу.
    Есть JavaScript код состоящий из нескольких сложных функций, подсчитывающих некоторый код .
    Необходимо как-то вычислять этот код на стороне сервера.
    Вычислить код 1 раз в браузере не вариант, т.к. вычисления зависят от передаваемого значения, а оно все время разное.
    Переписать код на php тоже не получится, т.к. он довольно сложный и к тому же время от времени меняется.
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Такое сделать нельзя и слава богу, страшно подумать чтобы могло случится, если javascript станет серверным языком.
     
  3. -=Xardas=-

    -=Xardas=-

    Регистр.:
    17 сен 2008
    Сообщения:
    250
    Симпатии:
    58
    Почему же сразу нельзя, если сервер на винде то можно использовать Windows Script Host? Хотя всеже не javascript а jscript, но языки очень похожие, потому ИМХО как вариант можно разсматривать :)
     
  4. nittis

    nittis Постоялец

    Регистр.:
    21 апр 2009
    Сообщения:
    68
    Симпатии:
    29
    greentyro нравится это.
  5. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    например использовать сервер как клиент, запускать на сервере браузер в котором запускается javascript, который как подсчитает отправляет данные на сервер с ajax или просто перенаправляет страницу с переменными GET на php файл, который обрабатывает результат.

    запустить firefox и загрузить страницу с php на windows работает:
    PHP:
    shell_exec('"C:\Program Files\Mozilla Firefox\firefox.exe" www.nulled.cc');
     
    greentyro нравится это.
  6. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Фотоаппаратом тоже можно гвозди забивать.
    Понасоветовали тут, вы хоть представьте, как будет работать js на стороне сервера. window.location, document.write, getelementbyid и прочая работа с тегами(!!которая есть в 99% js кода!!)...как это будет выполнятся??

    Автору надо либо переписать пхп, либо посмотерть в сторону ajax.
     
  7. Gisma

    Gisma Создатель

    Регистр.:
    9 май 2007
    Сообщения:
    45
    Симпатии:
    9
    Да это можно сделать, есть соотв. интерпретаторы. Только лучше дать 10 баксов людям, они перепишут всё ;) Хоть гимн Родина-мать...
     
  8. greentyro

    greentyro Писатель

    Регистр.:
    1 июл 2009
    Сообщения:
    5
    Симпатии:
    0
    Всем большое спасибо за ответы.

    Особенно nittis и polyetilen ваши решения выглядят вполне реализуемыми, я как раз думал в этом направлении.

    К сожалению SpiderMonkey пока не удалось заставить исполнить код, стопорится на синтаксисе.
    А как запустить браузер на *nix хостинге и заставить его исполнить JS, я пока не соображу.
    Да, кстати, забыл написать в первом посте, нужно чтобы все это работало на *nix сиситеме (сейчас у меня VDS CentOS и Fedora, но если потребуется можно и что-то другое найти).

    2tostrss к счастью там только математика, так что всякие getelementbyid не нужны.

    И еще...

    Может я не с той стороны зашел и есть другие варианты решения задачи?

    Суть такая. Необходимо автоматически логиниться на одном сайте, но он вместо html кода, при первом заходе выдает кусок JavaScript, который формирует ссылку перехода. Ну и понятно, что если по ней не перейти, то не поставятся куки и дальнейшая работа с сайтом невозможна.

    Кстати, вот код:

    Посмотреть вложение 1.rar
     
  9. _AlexSK_

    _AlexSK_ Постоялец

    Регистр.:
    30 окт 2008
    Сообщения:
    59
    Симпатии:
    8
    Пару ссылок по поводу выполнения JS-кода на сервере:
    http://abrdev.com/?p=350
    http://abrdev.com/?p=233
     
    greentyro нравится это.
  10. greentyro

    greentyro Писатель

    Регистр.:
    1 июл 2009
    Сообщения:
    5
    Симпатии:
    0
    нашел еще 2 интерпретатора js

    http://phpjs.berlios.de/
    http://j4p5.sf.net/

    но к сожалению все они работают только с более простым кодом :(

    кто-нибудь может подсказать еще варианты как обойти подобную защиту?
    неужели никто с таким не сталкивался?

    или может кто-нибудь возьмется решить задачу на платной основе? (пишите в ЛС)
     
Статус темы:
Закрыта.