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

    Personalizar tela de bloqueio

    Scheduled Pinned Locked Moved Portuguese
    15 Posts 6 Posters 2.6k 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.
    • P
      Pipe_RS
      last edited by

      Prezados bom dia.

      Sou novo n PFsense.

      Estou tentando personalizar tela de bloqueio. Tenho pfsense versão 2.2.6 amd.

      Vi tutoriais que editam o arquivo sgerror.php. Segui tudo conforme mas não funciona.. Tenho os pacotes Squid 3, SquidGuard, LightSquid instalados.

      Onde estou errando?

      Serei muito grato se puderem ajudar!!

      Abraços,

      1 Reply Last reply Reply Quote 0
      • andrezaomacA
        andrezaomac
        last edited by

        Edição da tela de bloqueio.

        Bloqueio personalizado do SquidGuard, edit o arquivo.

        sgerror.php<<

        Bloqueio personalizado do Squid, edit o arquivo.

        ERR_ACCESS_DENIED<<

        Consultoria em Servidores Linux/Windows.
        contato@andrenetwork.com.br

        Tecnólogo em Redes de Computadores.
        Bacharel em Sistemas da Informação.


        http://www.andrenetwork.com.br

        Limeira - SP

        1 Reply Last reply Reply Quote 0
        • P
          Pipe_RS
          last edited by

          @andrezaomac:

          Edição da tela de bloqueio.

          Bloqueio personalizado do SquidGuard, edit o arquivo.

          sgerror.php<<

          Bloqueio personalizado do Squid, edit o arquivo.

          ERR_ACCESS_DENIED<<

          Boa tarde.

          Não entendi sua resposta..

          o arquivo sgerror.php aparecia lá e edit, mas agora não aparece mais, coloco o camino, clico em LOAD mas não acha o arquivo.. Usei o WinSCP mas dentro do pfsense nao consigo buscar o arquivo…

          Já a segunda opção não sei onde fica.

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

            segue esse tutorial aqui:

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

            1 Reply Last reply Reply Quote 0
            • P
              Pipe_RS
              last edited by

              @ttercio:

              segue esse tutorial aqui:

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

              Amigo, agradeço de coração tua dica. Mas neste trecho abaixo em diante, que está meu problema também! Não acho o arquivo..

              "Trocando a Página de Erro do Squid

              Agora vamos de fato trocar a página de erro do Squid. Para isso vamos logar na Interface Gráfica. Vamos até o menu "Diagnostics" e escolhemos a opção "Edit File". No campo "Save / Load from path:" vamos colocar esse endereço: "/usr/local/etc/squid/errors/Portuguese/ERR_ACCESS_DENIED" e então apertar o botão "LOAD"."

              Não sei o que há de errado com meu PFsense.. :/

              1 Reply Last reply Reply Quote 0
              • P
                Pipe_RS
                last edited by

                E aí pessoal…

                Mais alguma sugestão??

                1 Reply Last reply Reply Quote 0
                • andrezaomacA
                  andrezaomac
                  last edited by

                  Se eu não me engano o caminho correto é este.

                  "/usr/local/etc/squid/errors/pt-br

                  Consultoria em Servidores Linux/Windows.
                  contato@andrenetwork.com.br

                  Tecnólogo em Redes de Computadores.
                  Bacharel em Sistemas da Informação.


                  http://www.andrenetwork.com.br

                  Limeira - SP

                  1 Reply Last reply Reply Quote 0
                  • empbillyE
                    empbilly
                    last edited by

                    Caso não encontre o arquivo no sistema. Pegue esse abaixo.
                    https://forum.pfsense.org/index.php?topic=51016.msg278787#msg278787

                    https://eliasmoraispereira.wordpress.com/

                    1 Reply Last reply Reply Quote 0
                    • P
                      Pipe_RS
                      last edited by

                      @andrezaomac:

                      Se eu não me engano o caminho correto é este.

                      "/usr/local/etc/squid/errors/pt-br

                      Mestre bom dia.

                      Pior que não achou.. :/

                      1 Reply Last reply Reply Quote 0
                      • P
                        Pipe_RS
                        last edited by

                        @empbilly:

                        Caso não encontre o arquivo no sistema. Pegue esse abaixo.
                        https://forum.pfsense.org/index.php?topic=51016.msg278787#msg278787

                        Valeu, vou tentar..

                        1 Reply Last reply Reply Quote 0
                        • P
                          Pipe_RS
                          last edited by

                          @empbilly:

                          Caso não encontre o arquivo no sistema. Pegue esse abaixo.
                          https://forum.pfsense.org/index.php?topic=51016.msg278787#msg278787

                          Na verdade tenho o arquivo .php que peguei na internet…... Já o adicionei na pasta mas não aparece...

                          1 Reply Last reply Reply Quote 0
                          • andrezaomacA
                            andrezaomac
                            last edited by

                            @Pipe_RS:

                            @empbilly:

                            Caso não encontre o arquivo no sistema. Pegue esse abaixo.
                            https://forum.pfsense.org/index.php?topic=51016.msg278787#msg278787

                            Na verdade tenho o arquivo .php que peguei na internet…... Já o adicionei na pasta mas não aparece...

                            Cara isso é estranho demais, nunca vi isso,
                            ja tentou reinstalar os pacotes Squid e SquidGuard?

                            Consultoria em Servidores Linux/Windows.
                            contato@andrenetwork.com.br

                            Tecnólogo em Redes de Computadores.
                            Bacharel em Sistemas da Informação.


                            http://www.andrenetwork.com.br

                            Limeira - SP

                            1 Reply Last reply Reply Quote 0
                            • G
                              ghislenidroid
                              last edited by

                              Bom dia amigos!

                              Fiz o seguinte procedimento:

                              Renomeei o arquivo sgerror.php para sgerror.old localizado em /usr/local/www
                              Neste mesmo local, inseri o arquivo de logo da empresa (extensão jpg)
                              Criei um novo arquivo com o nome sgerror.php
                              Inseri o código abaixo

                              ?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 Moved Permanently";
                              $err_code[302] = "302 Found";
                              $err_code[303] = "303 See Other";
                              $err_code[305] = "305 Use Proxy";
                              
                              $err_code[400] = "400 Bad Request";
                              $err_code[401] = "401 Unauthorized";
                              $err_code[402] = "402 Payment Required";
                              $err_code[403] = "Acesso Indevido";
                              $err_code[404] = "404 Not Found";
                              $err_code[405] = "405 Method Not Allowed";
                              $err_code[406] = "406 Not Acceptable";
                              $err_code[407] = "407 Proxy Authentication Required";
                              $err_code[408] = "408 Request Time-out";
                              $err_code[409] = "409 Conflict";
                              $err_code[410] = "410 Gone";
                              $err_code[411] = "411 Length Required";
                              $err_code[412] = "412 Precondition Failed";
                              $err_code[413] = "413 Request Entity Too Large";
                              $err_code[414] = "414 Request-URI Too Large";
                              $err_code[415] = "415 Unsupported Media Type";
                              $err_code[416] = "416 Requested range not satisfiable";
                              $err_code[417] = "417 Expectation Failed";
                              
                              $err_code[500] = "500 Internal Server Error";
                              $err_code[501] = "501 Not Implemented";
                              $err_code[502] = "502 Bad Gateway";
                              $err_code[503] = "503 Service Unavailable";
                              $err_code[504] = "504 Gateway Time-out";
                              $err_code[505] = "505 HTTP Version not supported";
                              
                              # ----------------------------------------------------------------------------------------------------------------------
                              # 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();
                              
                                  $str[] = '';
                                      $str[] = '';
                                  $str[] = '';
                                      $str[] = '';
                                  $str[] = '';
                                  $str[] = '';
                                  $str[] = '';
                                  $str[] = '![logo](http://192.168.1.1/logo.jpg)';
                                  $str[] = '
                              
                              O endereço requisitado não pôde ser aberto:
                              <a style="font-size:80%; font-family:Helvetica; color:#7f7f7f;"></a>';
                                  $str[] = '
                              
                              ';
                                          if ($cl['u'])        $str[] = "**{$cl['u']}**";
                                  $str[] = '';
                                  $str[] = "
                              
                              Motivo:   {$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[] = '
                              
                              ';
                                  $str[] = 'Informa��es do Bloqueio:';
                                  $str[] = '';
                                          if ($cl['n'])        $str[] = "Nome do Cliente: {$cl['n']} | ";
                                          if ($cl['a'])        $str[] = "IP do Cliente: {$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[] = "";
                                      $str[] = "";
                              
                                      return implode("\n", $str);
                              }
                              
                              #########################################################
                              #                                                       #
                              #  P�gina de Erro do SquidGuard customizada   - Fim     #
                              #                                                       #
                              #########################################################
                              
                              function filter_by_image_size($url, $val_size) {
                              
                                        # load url header
                                        $ch = curl_init();
                                        curl_setopt($ch, CURLOPT_URL, $url);
                                        curl_setopt($ch, CURLOPT_HEADER, 1);
                                        curl_setopt($ch, CURLOPT_NOBODY, 1);
                                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                                        $hd = curl_exec($ch);
                                        curl_close($ch);
                              
                                       $size = 0;
                                       $SKEY = "content-length:";
                                       $s_tmp = strtolower($hd);
                                       $s_tmp = str_replace("\n", " ", $s_tmp); # replace all "\n"
                                       if (strpos($s_tmp, $SKEY) !== false) {
                                           $s_tmp = trim(substr($s_tmp, strpos($s_tmp, $SKEY) + strlen($SKEY)));
                                           $s_tmp = trim(substr($s_tmp, 0, strpos($s_tmp, " ")));
                                           if (is_numeric($s_tmp))
                                                $size = intval($s_tmp);
                                           else $size = 0;
                                       }
                              
                                       # === check url type and content size ===
                                       # redirect to specified url
                                       if (($size !== 0) && ($size < $val_size)) {
                                            header("HTTP/1.0");
                                            header("Location: $url", '', 302);
                                       }
                                       # return blank image
                                       else {
                                            header("Content-Type: image/gif;");
                                            echo GIF_BODY;
                                       }
                              }
                              ?>
                              
                              Depois destes procedimentos, manda aplicar no Squidguard pra ele assumir a nova configuração e faz o teste.
                              
                              Espero ter ajudado.[/u][/u][/s][/i]</eod<br>
                              
                              1 Reply Last reply Reply Quote 0
                              • B
                                brunok
                                last edited by

                                Para descontrair…

                                Já que você é novo no pfSense, porque não usa a versão mais recente?

                                2.3.3  ;)

                                1 Reply Last reply Reply Quote 0
                                • P
                                  Pipe_RS
                                  last edited by

                                  @brunok:

                                  Para descontrair…

                                  Já que você é novo no pfSense, porque não usa a versão mais recente?

                                  2.3.3  ;)

                                  Bom dia.

                                  Vc sugere que eu atualize ?

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