Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Sgerror.php - erro ao informar URL

    Portuguese
    6
    10
    1.3k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sosmicro
      last edited by

      Pessoal.

      Quem tem instalado n pfsense 2.2.1 o squidguard3 está com o mesmo problema que eu?
      vejam na imagem anexa que ao mostrar a URL retorna junto o IP e mais o GET…...

      Alguém poderia confirmar se é um bug na variável do squidguard3 que retorna a URL do cliente %u?

      URL: http://www.facebook.com.br/192.168.1.5/--GET
      ![msg squidguard.JPG](/public/imported_attachments/1/msg squidguard.JPG)
      ![msg squidguard.JPG_thumb](/public/imported_attachments/1/msg squidguard.JPG_thumb)

      Oswaldo Romano
      SOSMICRO - uberaba - MG

      1 Reply Last reply Reply Quote 0
      • V
        verone
        last edited by

        @sosmicro:

        Pessoal.

        Quem tem instalado n pfsense 2.2.1 o squidguard3 está com o mesmo problema que eu?
        vejam na imagem anexa que ao mostrar a URL retorna junto o IP e mais o GET…...

        Alguém poderia confirmar se é um bug na variável do squidguard3 que retorna a URL do cliente %u?

        URL: http://www.facebook.com.br/192.168.1.5/--GET

        sosmicro,

        Estou com o mesmo problema. Porem eu "solucionei" através de PHP básico. Com STRLEN diminuindo o tamanho da string, por enquanto foi a melhor solução que achei.

        Segue o código:

        
        if ($cl['u']) {       
                $tamanhoip = strlen($cl['a']);
                $test = substr($cl['u'], 0, -($tamanhoip+6)); #O 6 é a quantidade de carácter depois do link acessado (-- GET)
                $str[] = "**{$test}**";
        }
        
        
        1 Reply Last reply Reply Quote 0
        • V
          vipersbr
          last edited by

          obrigado verone!! aqui deu certo com esse código! obrigado! :)

          1 Reply Last reply Reply Quote 0
          • S
            sosmicro
            last edited by

            @verone:

            Estou com o mesmo problema. Porem eu "solucionei" através de PHP básico. Com STRLEN diminuindo o tamanho da string, por enquanto foi a melhor solução que achei.

            Segue o código:

            
            if ($cl['u']) {       
                    $tamanhoip = strlen($cl['a']);
                    $test = substr($cl['u'], 0, -($tamanhoip+6)); #O 6 é a quantidade de carácter depois do link acessado (-- GET)
                    $str[] = "**{$test}**";
            }
            
            

            Verone…
            Obrigado. funcionou perfeitamente.
            Mas e quando o proxy usa autenticação por usuário??? aí não há como saber a quantidade de caracteres usados no nome??
            Como seria o código neste caso?

            abs

            Oswaldo Romano
            SOSMICRO - uberaba - MG

            1 Reply Last reply Reply Quote 0
            • V
              verone
              last edited by

              @sosmicro:

              @verone:

              Estou com o mesmo problema. Porem eu "solucionei" através de PHP básico. Com STRLEN diminuindo o tamanho da string, por enquanto foi a melhor solução que achei.

              Segue o código:

              
              if ($cl['u']) {       
                      $tamanhoip = strlen($cl['a']);
                      $test = substr($cl['u'], 0, -($tamanhoip+6)); #O 6 é a quantidade de carácter depois do link acessado (-- GET)
                      $str[] = "**{$test}**";
              }
              
              

              Verone…
              Obrigado. funcionou perfeitamente.
              Mas e quando o proxy usa autenticação por usuário??? aí não há como saber a quantidade de caracteres usados no nome??
              Como seria o código neste caso?

              abs

              sosmicro,

              Da para substituir o parâmetro que ele esta lendo para saber o tamanho.

              Em vez de ser strlen($cl['a']), seria no caso strlen($cl['i']) ou "n". Não sei ao certo porque não tenho uma infra aqui para testar certinho!

              Da uma olhada nas variáveis ai do SquidGuard:

              Incoming SquidGuard variables:

              #        a=client_address
              #        n=client_name
              #        i=client_user
              #        s=client_group
              #        t=target_group
              #        u=client_url

              O código ficaria assim então:

              
              if ($cl['u']) {       
                      $tamanhoip = strlen($cl['i']);
                      $test = substr($cl['u'], 0, -($tamanhoip+6)); #O 6 é a quantidade de carácter depois do IP acessado (-- GET)
                      $str[] = "**{$test}**";
              }
              
              
              1 Reply Last reply Reply Quote 0
              • marcellocM
                marcelloc
                last edited by

                Recomendo usar o preg_replace para substituir o conteúdo da variável que está caindo no campo errado.

                Nesse exemplo enviado, se o ip/usuário sempre vem antes do –GET (URL: http://www.facebook.com.br/192.168.1.5/--GET)

                #Incoming SquidGuard variables:
                #        a=client_address
                #        n=client_name
                #        i=client_user
                #        s=client_group
                #        t=target_group
                #        u=client_url

                No caso de client_address ou client_user, você pode usar :

                
                if ($cl['u']) {
                $str[] = "**".preg_replace("/({$cl['a']}|{$cl['i']}).--GET/","",$cl['u'])."**";
                }
                
                

                Treinamentos de Elite: http://sys-squad.com

                Help a community developer! ;D

                1 Reply Last reply Reply Quote 0
                • T
                  tomaswaldow
                  last edited by

                  Marcello, fiz um ajuste, pois estava mostrando a url em negrito e não estava aparacendo o texto "URL";

                  if ($cl['u'])        { $str[] = " **URL:** ".preg_replace("/({$cl['a']}|{$cl['i']}).--GET/","",$cl['u'])."
                  "; }
                  

                  Para quem precisar!

                  Obrigado.

                  Tomas @ 2W Consultoria

                  1 Reply Last reply Reply Quote 0
                  • J
                    jotaherre
                    last edited by

                    Onde eu altero isso, no sgerror.php? Em qual parte do código?

                    1 Reply Last reply Reply Quote 0
                    • T
                      tomaswaldow
                      last edited by

                      Se você ver no título do post diz que é no arquivo sgerror.php, e a parte do código, procure pela linha que tem a palavra "URL";

                      Tomas @ 2W Consultoria

                      1 Reply Last reply Reply Quote 0
                      • J
                        jotaherre
                        last edited by

                        @Tomas:

                        Se você ver no título do post diz que é no arquivo sgerror.php, e a parte do código, procure pela linha que tem a palavra "URL";

                        Achei, valeu Tomas! ;)

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.