Jump to content


Photo

Pingar Usuários Com Ip Fixo


  • Faça o login para participar
5 replies to this topic

#1 Online

Online

    Normal

  • Usuários
  • 65 posts
  • Sexo:Não informado
  • Interesses:interesses

Posted 23/09/2004, 13:45

Galeria, tipow é o segunte:

Queria um sistema que mostrasse numa página todos os usuários online e offline de um provedor de internet a cabo. Iria mostrar por ip, todos os ips são fixos. Sairia tipow:

Nome do usuário - Status
Zé - Online
Mané - Offline

custodia.com.br - é mais fácil encontrar aqui!!!
Eu queria tipow mostrar todos numa página só, mas não tô conseguindo, só consigo mostrar um usuário por página e assim mesmo quando tá offline dá erro.

ping.php

<?
  include "http.class";
 
  $http = new http; 
 
  $fp = $http->http_fopen($ping,"/");
 
  if (!$fp)
  {
      print "Usuário offline!";
      exit;
  }
  ob_start();
  header("Location: [url="http://localhost/ping/pingou.php");"]http://localhost/ping/pingou.php");[/url]
  ob_end_flush();
 
  fpassthru($fp);

      ?>


http.class

<?
class http
{
   var $proxy_host = "";
   var $proxy_port = "";
  
   function http_fopen($host, $path, $port = 80)
   {
      
    if (empty($this->proxy_host))
    {
        $conn_host = $host;
     $conn_port = $port;
    }
    else
    {  
           $conn_host = $this->proxy_host;
        $conn_port = $this->proxy_port;    
       }
    
  $abs_url = "http://$host:$port$path";
    
     $query = " GET $abs_url HTTP/1.0 \r\n ".
              " Host: $host:$port\r\n ".
        " User-agent: PHP/class http 0.1\r\n".
     "\r\n";
   
    $fp = fsockopen($conn_host, $conn_port);
     
    if(!$fp)
       return false;    
   
    fputs($fp, $query);

    while (trim(fgets($fp, 1024)) != "");
   
    return $fp;   
}  
}
?>



Achei o script abaixo aqui na net, que mostra servidores online, ele mostra quantos a pessoa quiser em uma página só, mas não pinga por ip, e também quando tá offline dá erro.

<?php

/*
//      HTTP Check
//
//
//      Author:         Pablo Costa
//      Lastmod:        2000-12-06
//      Homepage:       http://shark.ib.usp.br
//
//      PHP:
//      <?
//      include("http-check.php");
//      ?>             



Script para verificar se servidores web estao online,
a partir de uma lista fornecida.

No exemplo utilizei o site de operadoras de pager
eu utilizo este script no endereco:

http://shark.ib.usp.br/pager

*/



$data                 =     date(  "H:i (d/m/Y)", time() );
$fonte                =    "<font face=\"Verdana,Arial,Helvetica\" size=\"2\">";        
$link_prefix_on             =       "ONLINE";
$link_prefix_off            =       "OFFLINE";
$link_postfix           =       "<BR>\n";
$cache_file                =       "pager.net.cache";    // Cache do arquivo
$cache_time             =       1800;             // Intervalo de renovacao fixado em 30 minutos       
$target                 =       "_top";                                
$time                   =       split(" ", microtime());
$cache_time_rnd         =       300 - rand(0, 600);

/*

Colocar o array de servidores aqui
Seguindo o esquema:
"Nome do site" => "url do site"

*/

$SERVER = array(

    "Servidor1"    => "www.site1.com.br",        
    "Servidor2"  => "www.site2.com.br",      
    "Servidor3"  => "www.site3.com.br"
         
 
);                                            


srand((double)microtime()*1000000);
if ( (!(file_exists($cache_file))) || ((filectime($cache_file) + $cache_time - $time[1]) + $cache_time_rnd < 0) || (!(filesize($cache_file))) ) {     

    $fpwrite = fopen($cache_file, 'w');
    fputs($fpwrite, "<table width=\"50%\" align=center>\n");
    fputs($fpwrite, "<caption>\n");
    fputs($fpwrite, "$fonte<B>Horario</B>: $data</font>\n");
    fputs($fpwrite, "</caption>\n");
    fputs($fpwrite, "<th align=left>$fonte Status</th></font>\n");
    fputs($fpwrite, "<th align=left>$fonte Servidor</th></font>\n");

    if(!$fpwrite) {
        echo "$errstr ($errno)<br>\n";
        exit;
    }
    else {                                               
        while(list($KEY,$VALUE) = each($SERVER)) {
            $LOGERRORS = 1;
            $httpserver = fsockopen(  "$VALUE", 80, &$errno, &$errstr);

            // Abre a conexao com servidor http
            if(!$httpserver) {
                       // Se a conexao nao falhar
                if (isset($LOGERRORS)) {
                    // Se houver qualquer erro declara offline
                        fputs($fpwrite, "<tr>\n");
                        fputs($fpwrite, "<td>$link_prefix_off</td>\n");
                        fputs($fpwrite, "<td><A HREF=\"http://$VALUE\" TARGET=\"$target\">$KEY</A></td>\n");
                        fputs($fpwrite, "</tr>\n");     
                }
            }
            else {
                // Sucesso na conexao, verificar servidor web
                set_socket_blocking($httpserver,-1);    
                fwrite($httpserver,  "get index.html\r\n");
                $banner = fgets($httpserver,128);
                fclose($httpserver);
                sleep(1);
                   $file = fopen( "http://$VALUE/",  "r");

                   if (!$file) {
                        fputs($fpwrite, "<tr>\n");
                        fputs($fpwrite, "<td>$link_prefix_off</td>\n");
                        fputs($fpwrite, "<td><A HREF=\"http://$VALUE\" TARGET=\"$target\">$KEY</A></td>\n");
                        fputs($fpwrite, "</tr>");                                       
                         exit;
                }

                   fclose($file);

                fputs($fpwrite, "<tr>\n");
                fputs($fpwrite, "<td>$link_prefix_on</td>\n");
                    fputs($fpwrite, "<td><A HREF=\"http://$VALUE\" TARGET=\"$target\">$KEY</A></td>\n");
                fputs($fpwrite, "</tr>\n");

            }
        }

    }

    fputs($fpwrite, "</table>\n");
    fclose($fpwrite); 

}

if (file_exists($cache_file)) {
    include($cache_file);
}

?>


Eu queria que alguém me desse uma luz. (puxa como ficou grande esse post!)

Edição feita por: Online, 28/07/2009, 18:24.

Todos dizem que fazem

Apenas alguns realmente fazem

#2 goiaba2000

goiaba2000

    Tô com sono!

  • Usuários
  • 1118 posts
  • Sexo:Não informado
  • Localidade:Sobradinho-DF

Posted 23/09/2004, 13:52

olha esse tutorial que eu fiz:
http://forum.wmonlin...opic=38825&st=0

pra PINGAR... vc dever restringir acesso... tipo:
if($online{
include "online.php";
}
else{
echo "vc foi kikado";
}

sacou?!
PHP + UML + OO + Flash + MySQL = IMBATIVEL

http://www.guilardi.com.br
- portifólio
http://www.deusehmais.com.br
- projeto atual

#3 Online

Online

    Normal

  • Usuários
  • 65 posts
  • Sexo:Não informado
  • Interesses:interesses

Posted 23/09/2004, 13:59

Falow, mas é tipow assim, eu não queria saber os usuários que estão online no site, mas sim os que estão conectados à internet naquele momento, saca?
Todos dizem que fazem

Apenas alguns realmente fazem

#4 goiaba2000

goiaba2000

    Tô com sono!

  • Usuários
  • 1118 posts
  • Sexo:Não informado
  • Localidade:Sobradinho-DF

Posted 23/09/2004, 14:03

ai vc vai ter que fazer os usuários executarem o script.

php é programação do tipo server-side, ou do lado do servidor... pra rodar um script, ele tem que ser executado no servidor... ou seja, o usuário tem que acessar algum site que possua o script.

não dá pra fazer isso que voce está querendo...

aliás, banda larga não é sinônimo de ip fixo, só se o protocolo utilizado pelos usuarios for PPoA - comercial (muito caro). Na maioria dos casos (quase todos) os usuários se conectam via PPoE - residencial.
PHP + UML + OO + Flash + MySQL = IMBATIVEL

http://www.guilardi.com.br
- portifólio
http://www.deusehmais.com.br
- projeto atual

#5 Online

Online

    Normal

  • Usuários
  • 65 posts
  • Sexo:Não informado
  • Interesses:interesses

Posted 23/09/2004, 14:11

Aqui todos os usuários do provedor citado estão com ip fixo.

O código que mostrei primeiro rodou quase certo. O código dá um comando no servidor para procurar o ip do usuário pra ver se ele está na internet. Se ele estiver, dá Usuário Online. O problema é que esse código mostra o Status na internet de apenas um usuário.

Aí então tentei colocar os ips dos usuários no script que achei (o que está mais embaixo). Mas esse script não lê por ip, só lê por domínio. Então no caso não pode ser aplicado aos usuários.

Então gostaria de uma ajuda a esse respeito.

Será que agora consegui explicar? aguardo.
Todos dizem que fazem

Apenas alguns realmente fazem

#6 PaulinhoCurti

PaulinhoCurti

    Turista

  • Usuários
  • 36 posts
  • Sexo:Não informado
  • Localidade:São Paulo

Posted 24/09/2004, 07:47

A minha conexão é ip fixo, mas trata-se de uma LP da embratel... descobre meu ip ai ahuahauhauaha....




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq