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

    [Resolvido] Arquivo de Erro Squidguard3 - sgerror.php

    Scheduled Pinned Locked Moved Portuguese
    12 Posts 6 Posters 1.5k 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.
    • M Offline
      marcelofjs
      last edited by

      Boa Tarde

      Pessoal segui um tutoria onde ensina mudar o arquivo sgerror.php para apresentação na tela , mas o meu esta apresentando um monte de caracteres, alguem poderia ajudar em anexo o codigo.
      sgerror.txt

      1 Reply Last reply Reply Quote 0
      • F Offline
        fpmazzi
        last edited by

        @marcelofjs:

        Boa Tarde

        Pessoal segui um tutoria onde ensina mudar o arquivo sgerror.php para apresentação na tela , mas o meu esta apresentando um monte de caracteres, alguem poderia ajudar em anexo o codigo.

        Para podermos ajudar-te precisamos que nos diga quais erro que aparece.

        []s

        1 Reply Last reply Reply Quote 0
        • M Offline
          marcelofjs
          last edited by

          Boa Tarde

          Em anexo tela com o erro

          erro.jpg
          erro.jpg_thumb

          1 Reply Last reply Reply Quote 0
          • marcellocM Offline
            marcelloc
            last edited by

            Algo deu errado ao salvar o arquivo. Ele aparentemente nem reconheceu que é um arquivo php.

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

            Help a community developer! ;D

            1 Reply Last reply Reply Quote 0
            • F Offline
              fpmazzi
              last edited by

              Cara da uma olhada nesse post que seu problema esta parecendo igual.

              https://forum.pfsense.org/index.php?topic=51016.0

              1 Reply Last reply Reply Quote 0
              • M Offline
                marcelofjs
                last edited by

                Bom dia

                Cara olhei mesmo assim o erro continua.

                Marcelo

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

                  Revise o arquivo, com certeza tem coisa errada, ja passei por isso e foi falha minha.

                  A personalização é só uma parte do código, pega o arquivo original e faz a comparação, acho que acabou tirando parte do código que não deveria.

                  Tomas @ 2W Consultoria

                  1 Reply Last reply Reply Quote 0
                  • F Offline
                    fpmazzi
                    last edited by

                    @Tomas:

                    Revise o arquivo, com certeza tem coisa errada, ja passei por isso e foi falha minha.

                    A personalização é só uma parte do código, pega o arquivo original e faz a comparação, acho que acabou tirando parte do código que não deveria.

                    Realmente isso pode ser uma dor de cabeça dependendo do código, um ; em local errado ou faltando já gera um stress tremendo. Quando se descobre da vontade de morrer. rsrsrs.

                    Amigo vou lhe enviar o meu para você comparar.

                    []s

                    sgerror.txt

                    1 Reply Last reply Reply Quote 0
                    • R Offline
                      rafamaximo2014
                      last edited by

                      Cara eu tenho o arquivo.
                      Tenta esse por favor, montei para minha empresa. Copie o comando abaixo e cola no sgerror.

                      
                      include "globals.inc";
                      include "config.inc";
                      $page_info = <<<eod<br># ----------------------------------------------------------------------------------------------------------------------
                      # SquidGuard error page generator
                      # (C)2006-2007 Serg Dvoriancev
                      # ----------------------------------------------------------------------------------------------------------------------
                      # This programm processed redirection to specified URL or generated error page for standart HTTP error code.
                      # Redirection supported http and https protocols.
                      # ----------------------------------------------------------------------------------------------------------------------
                      # Format:
                      #        sgerror.php?url=[http://myurl]or[https://myurl]or[error_code[space_code]output-message][incoming SquidGuard variables]
                      # Incoming SquidGuard variables:
                      #        a=client_address
                      #        n=client_name
                      #        i=client_user
                      #        s=client_group
                      #        t=target_group
                      #        u=client_url
                      # Example:
                      #        sgerror.php?url=http://myurl.com&a=..&n=..&i=..&s=..&t=..&u=..
                      #        sgerror.php?url=https://myurl.com&a=..&n=..&i=..&s=..&t=..&u=..
                      #        sgerror.php?url=404%20output-message&a=..&n=..&i=..&s=..&t=..&u=..
                      # ----------------------------------------------------------------------------------------------------------------------
                      # Tags:
                      #        myurl and output messages can include Tags
                      #                [a] - client address
                      #                [n] - client name
                      #                [i] - client user
                      #                [s] - client group
                      #                [t] - target group
                      #                [u] - client url
                      # Example:
                      #         sgerror.php?url=401 Unauthorized access to URL [u] for client [n]
                      #      sgerror.php?url=http://my_error_page.php?cladr=%5Ba%5D&clname=%5Bn%5D // %5b=[ %d=]
                      # ----------------------------------------------------------------------------------------------------------------------
                      # Special Tags:
                      #      blank     - get blank page
                      #        blank_img - get one-pixel transparent image (for replace banners and etc.)
                      # Example:
                      #        sgerror.php?url=blank
                      #        sgerror.php?url=blank_img
                      # ----------------------------------------------------------------------------------------------------------------------
                      EOD;
                      
                      define('ACTION_URL', 'url');
                      define('ACTION_RES', 'res');
                      define('ACTION_MSG', 'msg');
                      
                      define('TAG_BLANK',     'blank');
                      define('TAG_BLANK_IMG', 'blank_img');
                      
                      # ----------------------------------------------------------------------------------------------------------------------
                      # ?url=EMPTY_IMG
                      #      Use this options for replace baners/ads to transparent picture. Thisbetter for viewing.
                      # ----------------------------------------------------------------------------------------------------------------------
                      # NULL GIF file
                      # HEX: 47 49 46 38 39 61 - - -
                      # SYM: G  I  F  8  9  a  01 00 | 01 00 80 00 00 FF FF FF | 00 00 00 2C 00 00 00 00 | 01 00 01 00 00 02 02 44 | 01 00 3B
                      # ----------------------------------------------------------------------------------------------------------------------
                      define(GIF_BODY, "GIF89a\x01\x00\x01\x00\x80\x00\x00\xFF\xFF\xFF\x00\x00\x00\x2C\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3B");
                      
                      $url  = '';
                      $msg  = '';
                      $cl   = Array(); // squidGuard variables: %a %n %i %s %t %u
                      $err_code = array();
                      
                      $err_code[301] = "301 Movido Permanentemente";
                      $err_code[302] = "302 Found";
                      $err_code[303] = "303 Ver Outros";
                      $err_code[305] = "305 Use Proxy";
                      
                      $err_code[400] = "400 Erro na Requisição do Servidor";
                      $err_code[401] = "401 Não Autorizado";
                      $err_code[402] = "402 Pagamento Obrigatorio";
                      $err_code[403] = "403 Acesso Negado";
                      $err_code[404] = "404 Não Encontrado";
                      $err_code[405] = "405 Metodo Não Permitido";
                      $err_code[406] = "406 Não Aceitavel";
                      $err_code[407] = "407 Autenticação de Proxy necessaria";
                      $err_code[408] = "408 A Requisição esgostou";
                      $err_code[409] = "409 Conflito";
                      $err_code[410] = "410 Erro";
                      $err_code[411] = "411 Comprimento Necessario";
                      $err_code[412] = "412 Pré Requisito de Falha";
                      $err_code[413] = "413 Requisição muito grande";
                      $err_code[414] = "414 Requisição URI muito grande";
                      $err_code[415] = "415 Tipo de Midia não suportado";
                      $err_code[416] = "416 Requisição com intervalo não Satisfatorio";
                      $err_code[417] = "417 Falhou";
                      
                      $err_code[500] = "500 Erro Interno do Servidor";
                      $err_code[501] = "501 Não Implementado";
                      $err_code[502] = "502 Falha de Gateway";
                      $err_code[503] = "503 Serviço Indisponivel";
                      $err_code[504] = "504 Tempo de resposta do Gateway esgotou";
                      $err_code[505] = "505 Protocolo HTTP Version não Suportado";
                      
                      # ----------------------------------------------------------------------------------------------------------------------
                      # check arg's
                      # ----------------------------------------------------------------------------------------------------------------------
                      
                      if (count($_POST)) {
                          $url  = trim($_POST['url']);
                          $msg  = $_POST['msg'];
                          $cl['a'] = $_POST['a'];
                          $cl['n'] = $_POST['n'];
                          $cl['i'] = $_POST['i'];
                          $cl['s'] = $_POST['s'];
                          $cl['t'] = $_POST['t'];
                          $cl['u'] = $_POST['u'];
                      }
                      elseif (count($_GET)) {
                          $url  = trim($_GET['url']);
                          $msg  = $_GET['msg'];
                          $cl['a'] = $_GET['a'];
                          $cl['n'] = $_GET['n'];
                          $cl['i'] = $_GET['i'];
                          $cl['s'] = $_GET['s'];
                          $cl['t'] = $_GET['t'];
                          $cl['u'] = $_GET['u'];
                      }
                      else {
                             # Show 'About page'
                              echo get_page(get_about());
                              exit();
                      }
                      
                      # ----------------------------------------------------------------------------------------------------------------------
                      # url's
                      # ----------------------------------------------------------------------------------------------------------------------
                      if ($url) {
                          $err_id = 0;
                      
                          // check error code
                          foreach ($err_code as $key => $val) {
                                  if (strpos(strtolower($url), strval($key)) === 0) {
                                     $err_id = $key;
                                     break;
                                  }
                          }
                      
                          # blank page
                          if ($url === TAG_BLANK) {
                                  echo get_page('');
                          }
                          # blank image
                          elseif ($url === TAG_BLANK_IMG) {
                                 $msg = trim($msg);
                                 if(strpos($msg, "maxlen_") !== false) {
                                    $maxlen = intval(trim(str_replace("maxlen_", "", $url)));
                                    filter_by_image_size($cl['u'], $maxlen);
                                    exit();
                                 }
                                 else {
                                    # --------------------------------------------------------------
                                    # return blank image
                                    # --------------------------------------------------------------
                                    header("Content-Type: image/gif;"); //  charset=windows-1251");
                                    echo GIF_BODY;
                                 }
                          }
                          # error code
                          elseif ($err_id !== 0) {
                                  $er_msg = strstr($_GET['url'], ' ');
                                  echo get_error_page($err_id, $er_msg);
                          }
                          # redirect url
                          elseif ((strpos(strtolower($url), "http://") === 0) or (strpos(strtolower($url), "https://") === 0)) {
                                  # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                  # redirect to specified url
                                  # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                  header("HTTP/1.0");
                                  header("Location: $url", '', 302);
                          }
                          // error arguments
                          else {
                              echo get_page("sgerror: error arguments $url");
                          }
                      }
                      else {
                              echo get_page($_SERVER['QUERY_STRING']); //$url . implode(" ", $_GET));
                      #        echo get_error_page(500);
                      }
                      
                      # ~~~~~~~~~~
                      # Exit
                      # ~~~~~~~~~~
                      exit();
                      
                      # ----------------------------------------------------------------------------------------------------------------------
                      # functions
                      # ----------------------------------------------------------------------------------------------------------------------
                      function get_page($body) {
                              $str = Array();
                              $str[] = '';
                              $str[] = "\n$body\n";
                              $str[] = '';
                              return implode("\n", $str);
                      }
                      #########################################################
                      #                                                       #
                      #  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://192.168.0.19/Logo.jpeg)';
                      	 $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: (11)1111-1111 - E-mail: email@email.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']}  ";
                      
                      	 $str[] = '';
                      
                      	 $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);
                      }
                      
                      #########################################################
                      #                                                       #
                      #  Página de Erro do SquidGuard customizada   - Fim     #
                      #                                                       #
                      #########################################################
                      ?>
                       [/u][/u][/s][/i]</eod<br>
                      
                      1 Reply Last reply Reply Quote 0
                      • J Offline
                        julioelbueno
                        last edited by

                        Coloca o arquivo completo que podemos ajudar melhor

                        Aproveito o post do amigo para postar um problema também que esta acontecendo com a mensagem alterada, já revi o arquivo, subi o arquivo que os amigos postaram aqui e sempre da esse erro no inicio da mensagem; alguém sabe dizer porque isso acontece?

                        erro.jpg
                        erro.jpg_thumb

                        1 Reply Last reply Reply Quote 0
                        • marcellocM Offline
                          marcelloc
                          last edited by

                          Esse erro é do php avisando que o cabeçalho html ja foi definido.

                          Esse erro acontece também quando existe um print no código php antes das definições de cabeçalho.

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

                          Help a community developer! ;D

                          1 Reply Last reply Reply Quote 0
                          • J Offline
                            julioelbueno
                            last edited by

                            No final o erro era que estava usando o bloco de notas para criar o arquivo, na hora de salvar ele salva em UTF-8  e tem que salvar como ANSI, se não fica uns espaços fantasmas no arquivo.

                            Marcelo, muito obrigado pela ajuda, e por toda a colaboração no forum, graças ao seus tutorias, e dicas que consegui configurar o Pfsense, sem ter contato com ele anteriormente, cheguei na empresa já usavam ele, mas super mal configurado e ninguém na empresa sabia como mexer, graças ao Forum hoje já tenho um bom conhecimento no Pfsense  ;) ;D 8)

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