Чаты irc bot на php

Discussion in 'Веб-уязвимости' started by TERYS, 9 Sep 2006.

  1. TERYS

    TERYS Member

    Joined:
    11 Jan 2006
    Messages:
    77
    Likes Received:
    22
    Reputations:
    -2
    Народ, у кого есть ирц бот написаный на пхп что бы просто конектился к серваку и сидел на канале?
     
  2. A110ut

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

    Joined:
    31 Dec 2005
    Messages:
    505
    Likes Received:
    263
    Reputations:
    92
    PHP:
    <?php
    set_time_limit
    (0);
    $irc["server"] = "irc.tsua.net";
    $irc["port"] = "7771";
    $irc["channel"] = "#astral.antichat";
    $bot["nick"] = "BoT";
    $bot["id"] = "myID";
    if (
    $fsock fsockopen($irc["server"], $irc["port"]))
    {
        
    fwrite($fsock"NICK ".$bot["nick"]."\r\nUSER ".$bot["id"]." 0 0 :".$bot["nick"]."\r\n");
        
    $no_connect 1;
        while (
    == 1)
        {
            if (
    $str fread($fsock1024))
            {
                if (
    substr($str06) == "PING :")
                {
                    
    fwrite($fsock"PONG ".$irc["channel"]."\r\n");
                }
                elseif (
    stristr($str":".$irc["server"]." 376 ".$bot["nick"]." :End of MOTD command.") && $no_connect == 1)
                {
                    unset(
    $no_connect);
                    
    fwrite($fsock"PING ".time()."\r\n");
                    while (!
    substr($str04) == "PONG")
                    {
                        
    $str fread($fsock1024);
                    }
                    
    fwrite($fsock"JOIN ".$irc["channel"]."\r\n");
                }
            }
        }
    }
    else
    {
        exit();
    }
    ?>
     
    5 people like this.
  3. FQziT

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

    Joined:
    3 Nov 2005
    Messages:
    543
    Likes Received:
    156
    Reputations:
    206
    http://php.com.ua/ru/articles/bicycles/php_irc_bot.htm
     
    1 person likes this.
  4. r0

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

    Joined:
    17 Jul 2005
    Messages:
    450
    Likes Received:
    149
    Reputations:
    147
    Спасибо всем за примеры =)
     
    1 person likes this.
  5. TERYS

    TERYS Member

    Joined:
    11 Jan 2006
    Messages:
    77
    Likes Received:
    22
    Reputations:
    -2
    A110ut , а как его запустить? я все данные ввел, положил на сервер, загрузил страничку, но на сервер он не заходит :(
     
  6. m0nzt3r

    m0nzt3r моня

    Joined:
    22 Jun 2004
    Messages:
    2,096
    Likes Received:
    673
    Reputations:
    591
    Terys, многие бесплатные хосты не поддерживат фсокопен..может из за этого?
    а ваще [мат] извращаться, пишите бота на сокетах в мИРК или ставьте эггдропа )
     
    #6 m0nzt3r, 9 Sep 2006
    Last edited by a moderator: 9 Sep 2006
  7. TERYS

    TERYS Member

    Joined:
    11 Jan 2006
    Messages:
    77
    Likes Received:
    22
    Reputations:
    -2
    "фсокопен" - что это?
    еггдроп у меня есть, только некуда его повесить :)
     
  8. A110ut

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

    Joined:
    31 Dec 2005
    Messages:
    505
    Likes Received:
    263
    Reputations:
    92
    лол...
    фсокопен == fsockopen

    зы: запускать желательно из ком. строки
    пример для винды: с:\путь_к_папке_с_пхп\php.exe с:\путь_к_папке_со_скриптом\bot.php
     
  9. TERYS

    TERYS Member

    Joined:
    11 Jan 2006
    Messages:
    77
    Likes Received:
    22
    Reputations:
    -2
    Code:
    <?php set_time_limit(0); $irc["server"] = "195.39.253.1"; $irc["port"] = "6667"; $irc["channel"] = "#Болтовня"; $bot["nick"] = "BoT"; $bot["id"] = "ID"; if ($fsock = fsockopen($irc["server"], $irc["port"])) { fwrite($fsock, "NICK ".$bot["nick"]."\r\nUSER ".$bot["id"]." 0 0 :".$bot["nick"]."\r\n"); $no_connect = 1; while (1 == 1) { if ($str = fread($fsock, 1024)) { if (substr($str, 0, 6) == "PING :") { fwrite($fsock, "PONG ".$irc["channel"]."\r\n"); } elseif (stristr($str, ":".$irc["server"]." 376 ".$bot["nick"]." :End of MOTD command.") && $no_connect == 1) { unset($no_connect); fwrite($fsock, "PING ".time()."\r\n"); while (!substr($str, 0, 4) == "PONG") { $str = fread($fsock, 1024); } fwrite($fsock, "JOIN ".$irc["channel"]."\r\n"); } } } } else { exit(); } ?>
    У меня ничё не вышло :( если кому не сложно запустите у себя на сервере :rolleyes:
     
  10. A110ut

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

    Joined:
    31 Dec 2005
    Messages:
    505
    Likes Received:
    263
    Reputations:
    92
    попоробуй запустить со своей машины. возможно я чтото лишнее удалил когда функции вырезал))
    up: хотя нет. вроде все на месте
     
  11. grinay

    grinay IQ- 137%

    Joined:
    15 Jun 2004
    Messages:
    409
    Likes Received:
    174
    Reputations:
    305
    Запусти как демон.
    И исправь while(1==1) на while(1) бесконечный цыкл ведь.
    А вообще если пытаешься к ачату да и не только
    то сервера разные и строку
    stristr($str, ":".$irc["server"]." 376 ".$bot["nick"]." :End of MOTD command.") && $no_connect == 1
    заменить на
    stristr($str," 376 ".$bot["nick"]." :End of MOTD command.") && $no_connect == 1
    и все прекрассно конектиться.
     
    #11 grinay, 11 Sep 2006
    Last edited: 11 Sep 2006
  12. A110ut

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

    Joined:
    31 Dec 2005
    Messages:
    505
    Likes Received:
    263
    Reputations:
    92
    а так не бесконечный? ;) всеголишь вопрос синтаксиса имхо
    если уж на то пошло, то и с stristr($str, "376") конектить будет. и не только к "ачату" :)
     
  13. TERYS

    TERYS Member

    Joined:
    11 Jan 2006
    Messages:
    77
    Likes Received:
    22
    Reputations:
    -2
    я ввожу путь к файлику bot.php загружает страницу, но бот к серверу не конектистя :(
    "Запусти как демон" что это значит? :(
     
  14. A110ut

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

    Joined:
    31 Dec 2005
    Messages:
    505
    Likes Received:
    263
    Reputations:
    92
    эмм.... и что на етой странице написано? код?? Киса, а у вас пхп установлен/настроен?
     
  15. TERYS

    TERYS Member

    Joined:
    11 Jan 2006
    Messages:
    77
    Likes Received:
    22
    Reputations:
    -2
    хостинг пхп поддержует, на странице пустота, колгда нажимаю просмотр штмл кода, этого скрипта нет в коде. может это с хостингом что-то не так? или я что-то не так сделал..
     
  16. A110ut

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

    Joined:
    31 Dec 2005
    Messages:
    505
    Likes Received:
    263
    Reputations:
    92
    все так. никаких "кодов" быть не должно. бот конектится около минуты. если хостинг халявный, логично предположить что там стоит ограничение на время работы скрипта
     
  17. TERYS

    TERYS Member

    Joined:
    11 Jan 2006
    Messages:
    77
    Likes Received:
    22
    Reputations:
    -2
    хостинг: _ho.com.ua , бот ни в течении минуты. ни в течении 10 минут не заходит.
     
  18. A110ut

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

    Joined:
    31 Dec 2005
    Messages:
    505
    Likes Received:
    263
    Reputations:
    92
    значит не судьба
    зы: специально проверил - все пашит))
     
  19. grinay

    grinay IQ- 137%

    Joined:
    15 Jun 2004
    Messages:
    409
    Likes Received:
    174
    Reputations:
    305
    Ясное дело что будет кудаж он дениться коды везде одинаковые на то он и протокол.
     
  20. TERYS

    TERYS Member

    Joined:
    11 Jan 2006
    Messages:
    77
    Likes Received:
    22
    Reputations:
    -2
    блин, A110ut а можеш запустить что бы он сидел на канале?