[PHP] веб интерфейс проги

Discussion in 'PHP' started by Qb1024, 5 Jul 2010.

  1. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Qb1024 ПХП и сам по себе может быть сервером, если уж настолько критично работа в ПХП и ограничение памяти. Но ключевой вопрос здесь - что вы такого можете реализовать на пыхе для управления компом? Выбор вебсервера - второстепеннен
     
    _________________________
  2. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    на пыхе возможно организовать удобный интерфейс управления, а непосредственно управлять с помощью CGI скрипта на C++
     
  3. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    2 Qb1024
    у тебя что внешний IP шник? ты подумал о том как ты будешь из внешней сети обращаться к своему локальному веб серверу?

    Интерфейс можно реализовать просто на HTML + JS, зачем тебе php?

    Нафига городить php CGI... напиши свою собственную реализацию сервака
    https://forum.antichat.ru/thread158751.html заюзай эту длл

    ну если ты уж так любишь php - скриптовые языки всегда проще
    напиши сервак на php )) с использованием socket и w32api функций
    http://ru.php.net/manual/en/book.w32api.php
    http://ru.php.net/manual/en/sockets.examples.php

    гыгы

    например сделай сервак на порту 12345
    и обращайся http://ip:12345/path
    скрипту или программе в любом случае придет get запрос - можно правильно ответить - например HTML страницей, а можешь просто выполнить действия проанализировав строчку path
    "GET /path HTTP/1.1" в заголовке
    типа если path = ?shutdown (http://ip:12345/?shutdown)
    скрипт выполняет system("shutdown /s"); и так далее )) можешь даже типа shell а сделать таким макаром )

    причем в данном случае ВЕБ СЕРВЕР типа апача или там iss не нужен! нужен только интерпритатор php - аля php.exe script.php и все. а уж скрипт сам подымет сервер и будет обрабатывать запросы )))

    блин написать чтоле )
     
    _________________________
    #23 Gar|k, 7 Aug 2010
    Last edited: 8 Aug 2010
  4. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Gar|k сервер написаный на пхп уже есть: http://nanoweb.si.kz/

    Хосспаде, писать на пхп используя w32api
     
    _________________________
  5. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    PHP:
    <?php
    error_reporting
    (E_ALL);
    set_time_limit(0);
    ob_implicit_flush();


    $address '0'// на любой адрес
    $port 10000// порт

    if (($sock socket_create(AF_INETSOCK_STREAMSOL_TCP)) === false) {
        echo 
    "socket_create() failed: reason: " socket_strerror(socket_last_error()) . "\n";
    }

    if (
    socket_bind($sock$address$port) === false) {
        echo 
    "socket_bind() failed: reason: " socket_strerror(socket_last_error($sock)) . "\n";
    }

    if (
    socket_listen($sock5) === false) {
        echo 
    "socket_listen() failed: reason: " socket_strerror(socket_last_error($sock)) . "\n";
    }

    do {
        if ((
    $msgsock socket_accept($sock)) === false) {
            echo 
    "socket_accept() failed: reason: " socket_strerror(socket_last_error($sock)) . "\n";
            break;
        }

        do {
            if (
    false === ($buf socket_read($msgsock2048PHP_NORMAL_READ))) {
                echo 
    "socket_read() failed: reason: " socket_strerror(socket_last_error($msgsock)) . "\n";
                break 
    2;
            }
            if (!
    $buf trim($buf)) {
                continue;
            }

        
    preg_match("/^GET \/(.*?) HTTP/"$buf$matches);
        switch(
    $matches[1]) {
            case 
    'reboot.html':
                
    system("shutdown /r");
                break;
            }


        } while (
    true);
        
    socket_close($msgsock);
    } while (
    true);

    socket_close($sock);
    ?>
    запускается так php.exe -d script.php
    далее пишем в обозревателе
    http://127.0.0.1:10000/reboot.html - и комп уходит в ребут ))) развивать не стал ибо тупо )))
     
    _________________________
  6. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    Люди,а вам не кажется, что это немного сложно? Сервер на php...
    Чем больше я буду делать на том, чего не особо понимаю, тем больше допущу ошибок и уязвимостей.
    Я просто прошу сказать, какую готовую сбоку веб сервера можно заюзать, не боясь, что через уязвимы скрипт можно получить полный доступ к системе.
    Я конечно благодарен вам за предложенные варианты, но считаю их чересчур сложными...
     
  7. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Qb1024 боюсь, что если вы хотите панацею от собственных ручек - не будет такого. Учитесь, пробуйте, ошибайтесь и делайте заново, но уже лучше.

    И вообще, вы просите одно, а боитесь другого - последние версии любых веб серверов, в общем-то, безопасны. И вы правильно говорите, что уязвимы, в основном, ваши личные скрипты
     
    _________________________