[Resolvido] - Disponibilizar Arquivo sgerror.php



  • Boa tarde a todos.

    Alguém poderia disponibilizar o arquivo customizado de bloqueio do squidguard ( sgerror.php ) para todos aqui no forum. peço isso pois notei um certa dificuldade em alterar o arquivo e vi muitos tópicos aqui o forum tratando sobre o assunto. Com esse arquivo como base poderiamos ir melhorando, caso precise, até chegarmos num resultado satisfatório e que todos possam ter acesso.

    Abraços.

    ATT

    Breno Alencar



  • Olá. Boa tarde a todos.

    Volto aqui para solicitar de algum dos membros aqui do forum essa ajuda. O arquivo sgerror.php personalizado. Caso alguém possa ajudar a muitos aqui no forum ficaremos imensamente gratos.

    Abraços a todos e parabéns.

    ATT

    Breno Alencar



  • Breno, infelizmente nao uso o squidguard para poder te ajudar :(



  • Olá Marcello.

    Muito obrigado pelo retorno. Vamos continuar esperando algum dos colegas que use o squidguard e tenha o sgerror.php personalizado e possa nos disponibilizar.

    Abraços e todos.

    ATT

    Breno Alencar



  • Infelizmente tb não uso o squidguard…  :-
    Uso o NTSquid em Windows pra Proxy/Cache....



  • Ola Pessoal,

    Estou compartilhando um modelo que criei para alguns clientes. Segue imagem do exemplo em anexo.

    Para colocar as imagens da logomarca de sua empresa, conforme o exemplo, basta substituir o caminho do arquivo no código para as duas imagens:

    http://INSERIR_CAMINHO_DO_LOGO_DE_FUNDO/logo1.jpg
    http://INSERIR_CAMINHO_DO_LOGO_DO_TOPO_DA_PAGINA/logo.jpg

    Para colocar em produção, basta substituir a parte do código que se encontra no arquivo "sgerror.php".

    Path: # /usr/local/www/sgerror.php

    Segue abaixo o código customizado:

    
    #########################################################
    #                                                       #
    #  Página de Erro do SquidGuard customizada   - Inicio  #
    #                                                       #
    #########################################################
    
    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    # IE displayed self-page, if them size > 1024
    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    function get_error_page($er_code_id, $err_msg='') {
            global $err_code;
            global $cl;
            global $g;
            global $config;
            $str = Array();
    
            header("HTTP/1.1 " . $err_code[$er_code_id]);
    
    	$str[] = '';
            $str[] = '';
    	$str[] = '';
            $str[] = '';
    	$str[] = '';
    	$str[] = '';
    	$str[] = '';
    	$str[] = '![logo](http://INSERIR CAMINHO DO LOGO DO TOPO DA PAGINA/logo.jpg)';
    	$str[] = '
    
    O endereço requisitado não pôde ser aberto:
    <a style="font-size:80%; font-family:Helvetica; color:#7f7f7f;">The requested address could not be opened:</a>';
    	$str[] = '
    
    ';
    			if ($cl['u'])        $str[] = "**{$cl['u']}**";
    	$str[] = '';
    	$str[] = "
    
    Motivo - Reason:   {$err_code[$er_code_id]} 
    
    ";
    	$str[] = '
    O **controle de acessos** identificou este site como inadequado de acordo com nossa organização.
    Todo ou qualquer acesso à internet é registrado em nosso sistema de relatórios.';
    	$str[] = '<a style="font-size:70%; font-family:Helvetica; color:#7f7f7f;">The access control identified this site as inappropriate according to the Organization.
    All Internet access is logged into our reporting system.</a>';
    	$str[] = '
    
    Information Technology - IT 
     Tel: xxxx-xxxx Ramal xxxx/xxxx  - E-mail: admin@empresa.com.br
    
    ';
    	$str[] = 'Additional Information:';
    	$str[] = '';
            	if ($cl['n'])        $str[] = "Client Name: {$cl['n']} | ";
            	if ($cl['a'])        $str[] = "Client IP: {$cl['a']} | ";
            	if ($cl['i'])        $str[] = "Client User: {$cl['i']} | ";
            	if ($cl['s'])        $str[] = "Group: {$cl['s']} | ";
            	if ($cl['t'])        $str[] = "Category: {$cl['t']} ";
    	$str[] = '';
    
    	$str[] = "";
            $str[] = "";
    
            return implode("\n", $str);
    }
    
    #########################################################
    #                                                       #
    #  Página de Erro do SquidGuard customizada   - Fim     #
    #                                                       #
    #########################################################
    
    Espero que façam bom proveito. Um grande abraço e bom trabalho a todos.
    
     8)
    
    ![Example_page.jpg](/public/_imported_attachments_/1/Example_page.jpg)
    ![Example_page.jpg_thumb](/public/_imported_attachments_/1/Example_page.jpg_thumb)
    


  • jhoche,

    Obrigado pela contribuição.

    Acabei de incluir na parte de tutoriais.

    att,
    Marcello Coutinho



  • jhoche.

    Muito obrigado pela sua ajuda. O resultado do arquivo ficou maravilhoso. Agradeçemos a sua contribuição.

    Abraços e muito obrigaod mais uma vez

    ATT

    Breno Alencar



  • Breno, excelente tópico, no entanto gostaria de saber se tem como aparecer na página de erro aparecesse o motivo do bloquei, tipo, a regra que bloqueou, assim fica fácil de identificar um falso positivo.



  • jhoche

    Alguma chance de portar essa belezura para o Dans?



  • @huskie:

    Alguma chance de portar essa belezura para o Dans?

    Os relatórios são um pouco diferentes. Na configuração do dansguardian, você pode substituir o html por um personalizado na aba report and log.

    Deixe o relatório sem javascripts para evitar um bug que acontece quando salvamos javascript em um campo da interface do pfsense.



  • eu já fiz tudo certinho… porem a imagem da Logo não aparece... podem me ajudar???



  • dannieldias, coloque a logo.jpg no mesmo local do script de erro
    Path: # /usr/local/www/

    $str[] = 'logo';

    Lembrando que se vc estiver usando o GUI do pfSense na porta padrão HTTPS é bom subirr outra instancia do Lighttpd na porta 80, veja o post do Marcelloc
    http://forum.pfsense.org/index.php/topic,59624.msg330184.html#msg330184



  • @jhoche:

    Espero que façam bom proveito. Um grande abraço e bom trabalho a todos.

    jhoche! Agradeço pelo espírito de colaboração!!!

    Aqui tudo funcionando!!! Obrigado !!!

    Abraços!



  • eu uso esse:

    
    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    # IE displayed self-page, if them size > 1024
    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    	function get_error_page($er_code_id, $err_msg='') {
            global $err_code;
            global $cl;
            $str = Array();
    
          header("HTTP/1.1 " . $err_code[$er_code_id]);
    	  $str[] = '';
          $str[] = '';
          $str[] = '';
          $str[] = '';
          $str[] = '';
          $str[] = '';
                if ($cl['n'])        $str[] = "Nome: {$cl['n']} | ";
                if ($cl['a'])        $str[] = "IP: {$cl['a']} | ";
                if ($cl['i'])        $str[] = "Usuário: {$cl['i']} | ";
                if ($cl['s'])        $str[] = "Grupo: {$cl['s']} | ";
                if ($cl['t'])        $str[] = "Categoria: {$cl['t']} ";
          $str[] = '';
          $str[] = 'Acesso Negado!';
          $str[] = '';
    		if ($err_msg)        $str[] = "
    
     {$err_msg} 
    
    ";
    		if ($cl['u'])        $str[] = "
    
     {$cl['u']} 
    
    ";
          $str[] = '
    
    Devido a restrições, seu acesso não foi permitido. Em caso de dúvidas entre em contato com o departamento de TI.
    
    ';
          $str[] = '
    
    [Contato](mailto:xxxxxx@xxxxxxx.com.br?Subject=Acesso negado)
    
    ';
          $str[] = 'www.xxxxxx.com.br';
          $str[] = "";
    	  $sge_prefix=(preg_match("/\?/",$cl['u'])?"&":"?");
          $str[] = '<iframe src="'.$cl['u'].$sge_prefix.'sgrd=ACCESSDENIED" width="1" height="1"></iframe>';
          $str[] = "";
    
        return implode("\n", $str);
    }
    ?>
    
    




  • Galera fiz tudo certinho(eu acho), mas o meu na tela de erro fica uns caracteres meio malucos vejam no print…

    :( :(

    tenho que fazer algo mais??






  • @ignti:

    Galera fiz tudo certinho(eu acho), mas o meu na tela de erro fica uns caracteres meio malucos vejam no print…

    :( :(

    tenho que fazer algo mais??

    Olá amigo, isso tb aconteceu comigo… eu estava colando os códigos que os amigos forneceram em um local errado... use um editor de PHP para vc não deletar os delimitadores ... tipo />, ou outros que vão causar este erro.

    Se vc não conseguir me avisa que lhe ajudo com mais detalhes.

    abçs,



  • Incluí o que estava faltando na contribuição do lucaspolli.

    Recomendo usar o pacote filer para alterar o  arquivo, desta forma você mantem o arquivo alterado no backup do pfsense.



  • Ok amigos!!

    conseguir… realmente coloquei no local errado, obrigado a todos!



  • Lembre de colocar o dominio de onde upou a imagem. na lista branca ! :D



  • Prezado jhoche,

    Desculpe - me, não compreende direito como importar. Essa código que postou, eu adiciono ao arquivo sgerror.php ou substituo?

    Se eu quiser importar uma página que eu criei em HTML e importar para o pfsense, em seguida, direcionar no squidguard como página padrão. Como isso é feito?



  • Boa TArde

    Em qual configuração coloco para que seja apresentando esta tela utilizo o squid3-dev e squidguard.

    Marcelo



  • @marcelloc:

    Incluí o que estava faltando na contribuição do lucaspolli.

    Recomendo usar o pacote filer para alterar o  arquivo, desta forma você mantem o arquivo alterado no backup do pfsense.

    Marcelloc, já alterei o código da página no Sgerror.php, em /usr/local/www, mesmo assim a página de erro não muda. Já reiniciei o squid e o squidguard, o que mais tenho que fazer?? :(



  • @jotaherre:

    @marcelloc:

    Incluí o que estava faltando na contribuição do lucaspolli.

    Recomendo usar o pacote filer para alterar o  arquivo, desta forma você mantem o arquivo alterado no backup do pfsense.

    Marcelloc, já alterei o código da página no Sgerror.php, em /usr/local/www, mesmo assim a página de erro não muda. Já reiniciei o squid e o squidguard, o que mais tenho que fazer?? :(

    Jotaherre,

    Fez a alteração do arquivo sgerror.php através do filer?  Um teste… Tente simplesmente substituir o arquivo utilizando o winscp para vermos se a página de erro mudará.



  • Sim, alterei com o Filer. Vou tentar substituir o arquivo usando o WinScp, pra ver se dá certo.



  • Resolvi aqui!! O que aconteceu foi o seguinte: eu disponibilizo o wpad na rede na porta 80, e está hospedado em /usr/local/www/wpad. Foi só alterar lá que resolveu, ou seja, o arquivo sgerror.php tinha que ser alterado em /usr/local/www/wpad.



  • boa noite

    caros colegas fiz a alteração no sgerror.php
    mas deu um erro podem me dar umas dicas o pfsense que uso é 2.2.3 e versão do meu squidguard é squidGuard-deve Available: 1.5.8
    Installed: 1.5.7




  • Você alterou partes de código da estrutura do arquivo.

    Confere com o arquivo original, vai ver que tem um bloco de código que deve ser alterado somente.



  • @jotaherre:

    Resolvi aqui!! O que aconteceu foi o seguinte: eu disponibilizo o wpad na rede na porta 80, e está hospedado em /usr/local/www/wpad. Foi só alterar lá que resolveu, ou seja, o arquivo sgerror.php tinha que ser alterado em /usr/local/www/wpad.

    Ahh tá, explicado então! Abs.



  • @isaiasbertin:

    boa noite

    caros colegas fiz a alteração no sgerror.php
    mas deu um erro podem me dar umas dicas o pfsense que uso é 2.2.3 e versão do meu squidguard é squidGuard-deve Available: 1.5.8
    Installed: 1.5.7

    isaiasbertin,

    Realize o seguinte procedimento utilizando o notepad++ ou algum outro editor de códigos em variadas linguagens de programação:

    1 - Abra o arquivo sgerror.php localizado em /usr/local/www/ através do filer.

    2 - Copie o conteúdo do arquivo, ou seja, o código em php e cole no notepad++.

    3 - substitua essa parte do código pela customizada disponibilizada no post:

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    IE displayed self-page, if them size > 1024

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    .
    .
    .
    .
    .
    .
    .
    .
    .
          return implode("\n", $str);
    }

    4 - Copie todo o conteúdo editado do codigo no notepad++ e cole lá no arquivo do sgerror aberto no filer e salve.

    8 - Teste!

    Se mesmo assim não der certo, tente substituir o código utilizando o winscp.



  • boa noite allanbbg

    fis o que vc falou mas agora gera este erro

    $str[] = "\n$body\n";

    na linha 198




  • @isaiasbertin:

    boa noite allanbbg

    fis o que vc falou mas agora gera este erro

    $str[] = "\n$body\n";

    na linha 198

    Olá amigo…

    Na linha 198 tem uma string que não foi escapada corretamente. Você precisa colocar um \ antes das aspas duplas dentro da string. Fica mais ou menos assim:

    
    $str[] = "\n$body\n";
    
    


  • Boa noite,

    O post é meio antigo, mas uma duvida.
    A pagina personalizada está funcionando, quando bloqueia http.

    Mas se o bloqueio é de uma pagina https, ao invés de mostrar o sgerror.php do squidguard, vai para a pagina de erro do squid.

    Como ir sempre para o sgerror.php?

    Obrigado.


Log in to reply