Visualizzazione risultati 1 fino 4 di 4

Discussione: Connessioni Esterne

  1. #1
    freestyleita non è connesso Neofita
    Data registrazione
    30-09-2003
    Messaggi
    4

    Predefinito

    Salve,
    sul mio sito sto creando una pagina in PHP che si colleghi ad un server IRC, per poter prelevare le liste degli utenti di un canale (CF / SOP / AOP / VOP) e le informazioni relative al canale stesso (/cs info #canale)...
    Per fare ciò ho utilizzato le funzioni fsockopen(), fgets() e fput()...

    mi dà un timeout quando tento di aprire la pagina...

    ecco il codice:

    [code:1:971be60d9c]
    <html>
    <head>
    <title>Lista Membri</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#000000" text="#ffffff">
    <?php
    set_time_limit(120);
    $socket = fsockopen("irc.azzurra.net", 6667, $errno, $errstr, 60);

    if ($socket==TRUE){
    $headers = "NICK PHPBot\r\nUSER phpbot phpbot localhost\r\nPRIVMSG NickServ IDENTIFY passwordmia\r\nJOIN #freestyle\r\n";
    fputs($socket, $headers);
    fputs($socket, "PRIVMSG ChanServ CF #freestyle LIST");
    $cf = '';
    while (!feof($socket)) {
    $cf .= fgets($socket, 1024);
    while (substr_count($cf,'\r\n') != 0) {
    $offset = strpos($cf, '\r\n');
    $data = substr($cf,0,$offset);
    $cf = substr($cf,$offset+2);
    if ( substr($data,0,4) == 'PING' ) {
    fputs($socket,'PONG ' . substr($data,5) . '\r\n');
    }
    }
    }
    fputs($socket, "PRIVMSG ChanServ SOP #freestyle LIST");
    $sop = '';
    while (!feof($socket)) {
    $sop .= fgets($socket, 1024);
    while (substr_count($sop,'\r\n') != 0) {
    $offset = strpos($sop, '\r\n');
    $data = substr($sop,0,$offset);
    $sop = substr($sop,$offset+2);
    if ( substr($data,0,4) == 'PING' ) {
    fputs($socket,'PONG ' . substr($data,5) . '\r\n');
    }
    }
    }
    fputs($socket, "PRIVMSG ChanServ AOP #freestyle LIST");
    $aop = '';
    while (!feof($socket)) {
    $aop .= fgets($socket, 1024);
    while (substr_count($aop,'\r\n') != 0) {
    $offset = strpos($aop, '\r\n');
    $data = substr($aop,0,$offset);
    $aop = substr($aop,$offset+2);
    if ( substr($data,0,4) == 'PING' ) {
    fputs($socket,'PONG ' . substr($data,5) . '\r\n');
    }
    }
    }
    fputs($socket, "PRIVMSG ChanServ VOP #freestyle LIST");
    $vop = '';
    while (!feof($socket)) {
    $vop .= fgets($socket, 1024);
    while (substr_count($vop,'\r\n') != 0) {
    $offset = strpos($vop, '\r\n');
    $data = substr($vop,0,$offset);
    $vop = substr($vop,$offset+2);
    if ( substr($data,0,4) == 'PING' ) {
    fputs($socket,'PONG ' . substr($data,5) . '\r\n');
    }
    }
    }
    fputs($socket, "PRIVMSG ChanServ INFO #freestyle");
    $info = '';
    while (!feof($socket)) {
    $info .= fgets($socket, 1024);
    while (substr_count($info,'\r\n') != 0) {
    $offset = strpos($info, '\r\n');
    $data = substr($info,0,$offset);
    $info = substr($info,$offset+2);
    if ( substr($data,0,4) == 'PING' ) {
    fputs($socket,'PONG ' . substr($data,5) . '\r\n');
    }
    }
    }
    fclose($socket);
    ?>
    <table width="75%" border="1">
    <tr>
    <td><b>GRADO</b></td>
    <td><b>NICKS</b></td>
    </tr>
    <tr>
    <td>Co-Founders</td>
    <td><?php echo($cf);?></td>
    </tr>
    <tr>
    <td>SOP</td>
    <td><?php echo($sop);?></td>
    </tr>
    <tr>
    <td>AOP</td>
    <td><?php echo($aop);?></td>
    </tr>
    <tr>
    <td>VOP</td>
    <td><?php echo($vop);?></td>
    </tr>
    </table>
    <BR>
    Informazioni Generali sul Canale e sul Founder:
    <br>
    <?php
    echo($info . "<br><br>");
    } else {
    echo "<div align='center'>";
    echo "Connessione al Server IRC Fallita<BR>";
    echo "<a href='javascript:history.go(-1);'>Torna Indietro</a>";
    echo "</div>";
    }
    ?>
    </body>
    </html>
    [/code:1:971be60d9c]

    ...

    cose c'è che non va?

    grazie mille!

    [edit]naturalmente ho modificato la password che mando al server... eheheh non si sa mai :P[/edit]

  2. #2
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Non so rispondere al tuo problema, ma so che ci sono delle restrizioni nell'accesso a file esterni (che se non erro non possono essere aperti), forse può dipendere da qualcosa del genere.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  3. #3
    Guest

    Predefinito

    su altervista è attivo il safemode, quindi alcune funzioni vengono disabilitate per motivi di sicurezza.

  4. #4
    freestyleita non è connesso Neofita
    Data registrazione
    30-09-2003
    Messaggi
    4

    Predefinito

    altro metodo x risolvere?

    ci sarebbero anche le funzioni ircg_*(), ma con il safemode niente...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •