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

Sgerror.php - erro ao informar URL

Scheduled Pinned Locked Moved Portuguese
10 Posts 6 Posters 1.3k Views
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 Apr 4, 2015, 4:20 AM

    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 Apr 6, 2015, 12:29 AM Apr 5, 2015, 1:44 PM

      @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 Apr 6, 2015, 7:36 PM

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

        1 Reply Last reply Reply Quote 0
        • S
          sosmicro
          last edited by Apr 12, 2015, 6:27 PM Apr 12, 2015, 3:03 PM

          @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 Apr 13, 2015, 11:56 AM

            @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
            • M
              marcelloc
              last edited by Apr 13, 2015, 5:18 PM Apr 13, 2015, 5:08 PM

              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 Oct 25, 2015, 8:57 PM

                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 Oct 27, 2015, 2:12 PM

                  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 Oct 27, 2015, 3:04 PM

                    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 Oct 27, 2015, 4:40 PM

                      @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.
                        This community forum collects and processes your personal information.
                        consent.not_received