Sgerror.php - erro ao informar URL
-
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) -
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}**"; }
-
obrigado verone!! aqui deu certo com esse código! obrigado! :)
-
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
-
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_urlO 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}**"; }
-
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_urlNo caso de client_address ou client_user, você pode usar :
if ($cl['u']) { $str[] = "**".preg_replace("/({$cl['a']}|{$cl['i']}).--GET/","",$cl['u'])."**"; }
-
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.
-
Onde eu altero isso, no sgerror.php? Em qual parte do código?
-
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";
-
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! ;)