Página 2 de 2 PrimeiroPrimeiro 12
+ Responder ao Tópico



  1. Se alguem conseguir pode postar ai...pq esse sim eh o maior comedor de banda ja inventado...nao tem link que resita ao tal youtube...

  2. Cara, estou decidido mesmo a bloquear, estarei analizando o código da página do vídeo para ver o que posso fazer, talvez bloqueie por arquivo flv ou mime type.



  3. No momento estou postando em outro fórum uma solução em php, mas ninguém ainda conseguiu.
    O que eu queria é que se o usuário já estiver acessando esta página em questão no meu servidor local, ele bloqueasse.
    Iria redirecionar o youtube para esta página.

  4. Já está quase pronto o código em php + javascript.

    Conteúdo do redirecionador.php

    Código PHP:
    <html>
    <?php
    //Efetua a conexão
    mysql_connect("localhost","***-user-****","****-senha-****");
    mysql_select_db("youtube");

    //Pega o ip
    $ip $_SERVER['REMOTE_ADDR'];


    //Verifica se o ip do usuário já se encontra
    $verif mysql_query ("SELECT ip FROM useronline WHERE ip = '$ip'");
    $evo mysql_num_rows($verif);

    //Se for encontrado, fala que o usuario ja esta ativo
    if ($evo "0"){
    echo 
    "Usuario ja assistindo youtube";
    //Caso não sejá encontrado ele insere o ip a url e o tempo
    } else {
    mysql_query("INSERT INTO useronline VALUES ('$ip')") or die("Database INSERT Error");
    echo (
    "
    <head>
    <Script Language=JavaScript>
    <!-- Hide
    function rusure() {
    window.open('deletador.php','page','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=100,height=100');  
    }
    // end hide -->
    </script>
    </head>"
    );
    }
    ?>



    <body onUnload="rusure();">




    </body>
    </html>
    Conteúdo do deletador.php

    Código PHP:
    <?php

    //Efetua a conexão
    mysql_connect("localhost","***-user-****","****-senha-****");
    mysql_select_db("youtube");

    //Pega o ip
    $ip $_SERVER['REMOTE_ADDR'];

    //Deleta os ips
    mysql_query("DELETE FROM `useronline` WHERE CONVERT(`useronline`.`ip` USING utf8) = '$ip' LIMIT 1") or die(mysql_error());
    //nao precisa.
    //$result=mysql_query("SELECT DISTINCT ip FROM useronline") or die("mysql_errno(");

    ?>

    Toda vez que o usuario acessar o redirecionador.php, ele verifica se o usuário já está ativo, se estiver, ele avisa falando que já está assistindo.
    Se o usuário (ip) não constar no DB, ele registra o usuário no DB, e insere um código javascript na página registrando o evento unload, que é o fechar da página, que executa o deletador.php, que deleta ip do usuário do DB quando a página for fechada.

    Agora só falta inserir os códigos para trabalhar com youtube.
    Vou ter que usar o url_rewriter, eu acho.



  5. Consegui, pelo menos só no site do youtube, os vídeos incorporados não funcionam (e.x. Orkut).
    Aí vai:

    Criei um DB no Mysql chamado youtube, com a tabela de nome useronline, com o campo ip vachar(40) e nulo não.

    Código :
    -- phpMyAdmin SQL Dump
    -- version 2.11.7
    -- http://www.phpmyadmin.net
    --
    -- Servidor: localhost
    -- Tempo de Geração: Set 28, 2008 as 10:26 AM
    -- Versão do Servidor: 5.0.51
    -- Versão do PHP: 5.2.6
     
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
     
    --
    -- Banco de Dados: `youtube`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Estrutura da tabela `useronline`
    --
     
    CREATE TABLE IF NOT EXISTS `useronline` (
      `ip` varchar(40) NOT NULL,
      KEY `ip` (`ip`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
     
    --
    -- Extraindo dados da tabela `useronline`
    --
    A partir daí, fui desenvolver o redirecionador em php. Esse é o redirecionador:

    Código PHP:
    <html>
    <?php

    $body 
    '<body onUnload="rusure();">';
    $body2 "</body>";

    $meuip $_GET["cip"];
    $frutas $_GET["url"];
    $parte explode("watch?v="$frutas);
    //Efetua a conexão
    mysql_connect("localhost","***-user-***","***-senha-***");
    mysql_select_db("youtube");

    //Pega o ip
    //$ip = $_SERVER['REMOTE_ADDR'];


    //Verifica se o ip do usuário já se encontra
    $verif mysql_query ("SELECT ip FROM useronline WHERE ip = '$meuip'");
    $evo mysql_num_rows($verif);

    //Se for encontrado, fala que o usuario ja esta ativo
    if ($evo "0"){
    echo 
    "Usuario ja assistindo youtube";
    //Caso não sejá encontrado ele insere o ip a url e o tempo
    } else {
    mysql_query("INSERT INTO useronline VALUES ('$meuip')") or die(mysql_error());
    echo (
    "
    <head>
    <Script Language=JavaScript>
    <!-- Hide
    function rusure() {

    window.open('http://192.168.0.1/deletador3.php?cip=
    $meuip','page','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=100,height=100');
    }

    // end hide -->
    </script>
    </head> 
    $body <object width=100% height=100%><param name=movie value=http://www.youtube.com/v/$parte[1]></param><param name=allowFullScreen value=true></param><embed src=http://www.youtube.com/v/$parte[1] type=application/x-shockwave-flash allowFullScreen=true width=100% height=100%></embed></object> $body2");
    }
    ?>


    </html>
    O arquivo deletador3.php

    Código PHP:
    <?php

    //Efetua a conexão
    mysql_connect("localhost","***-user-***","***-senha-***");
    mysql_select_db("youtube");

    //Pega o ip
    //$ip = $_SERVER['REMOTE_ADDR'];
    $meuip $_GET["cip"];
    //DeLeta os ips
    mysql_query("DELETE FROM `useronline` WHERE CONVERT(`useronline`.`ip` USING utf8) = '$meuip' LIMIT 1") or die(mysql_error());
    //nao precisa.
    //$result=mysql_query("SELECT DISTINCT ip FROM useronline") or die("mysql_errno(");

    ?>
    ______________________________________________________________________________________________

    O funcionamento:

    Bom, usei o squidGuard para bloquear o tráfego das url
    youtube.com/watch?v=
    br.youtube.com/watch?v=
    de.youtube.com/watch?v=
    uk.youtube.com/watch?v=

    E redirecionar

    Código :
    dest youtube {
    urllist youblock/urls
    }
     
    acl {
     
    default {
    pass !youtube
    redirect http://192.168.0.1/redirector3.php?[B]cip=%a&url=%p[/B]
    }
    }
    Atenção especial para os cip=%a&url=%p, que serão responsáveis de passar o ip do usuário e a url do youtube para o redirecionador.

    O redirector3.php pega o ip e salva na variavel $meuip que será usada para verificar se o usuário já está ou não acessando algum vídeo do youtube.

    Aí, quando o usuário tentar acessar um vídeo do youtube, srá redirecionado para esta página, que coletará os dados do ip e da url, verificará se já está no DB, se estiver mostra o aviso que já está assistindo um vídeo, se não estiver mostra o vídeo no modo inserido na página, o que economiza mais banda de internet ainda.

    Aí, quando o usuário fechar a página, abrirá um popup que deletará o ip dele, para poder assistir outros vídeos. Quem puder ajudar, pois ainda não descobri um modo da página fechar sozinha quando o script de deletação terminar.


    Nota: Não funciona com vídeos inseridos nas páginas, muito menos com os do orkut. Pelo menos aqui não funcionou.

    Nota 2: Será necessário liberar o bloqueador de popups para os sites do youtube inseridos na lista do squidGuard.






Tópicos Similares

  1. Youtube - Apenas 1 Video Por Ip
    Por alysson28 no fórum Redes
    Respostas: 1
    Último Post: 11-02-2008, 14:21
  2. Como bloquear com iptables pelo dominio / IP , Por Favor.
    Por alimasilva no fórum Servidores de Rede
    Respostas: 5
    Último Post: 12-08-2005, 09:41
  3. net-snmp + bloquear msn por ip
    Por Mr_Dom no fórum Servidores de Rede
    Respostas: 1
    Último Post: 04-07-2005, 00:07
  4. bloquear messenger por ip!!!!
    Por rcar no fórum Servidores de Rede
    Respostas: 15
    Último Post: 11-01-2005, 18:00
  5. Bloquear internet por ip
    Por vivaldorf no fórum Servidores de Rede
    Respostas: 4
    Último Post: 11-10-2004, 09:23

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L