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

Custom SquidGuard Error Pages Redux

Scheduled Pinned Locked Moved pfSense Packages
5 Posts 2 Posters 1.8k 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.
  • K
    KOM
    last edited by Jan 29, 2015, 4:28 PM

    I've been trying to create a customized SquidGuard error page.  I've followed the simple steps here:

    https://forum.pfsense.org/index.php?topic=9519.0
    https://forum.pfsense.org/index.php?topic=26057.0
    https://forum.pfsense.org/index.php?topic=77142.0

    I've modified the standard sgerror.php to add an include for my custom error page (KOMerr.php renamed from the personalSgerror.php file linked in one of the forum posts I listed above):

    include "globals.inc";
    include "config.inc";
    include "/usr/local/www/KOMerr.php";
    $page_info = << <eod< pre="">I've commented out the get_error_page function in sgerror.php:
    
    

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

    IE displayed self-page, if them size > 1024

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

    function Xget_error_page($er_code_id, $err_msg='') {
            global $err_code;

    
    I've set SquidGuard to block with an Ext URL Error Page to:
    
    http://pfsense.mydomain.local/sgerror.php?url=http://pfsense.mydomain.local/KOMerr.php&a=%a&n=%n&i=%i&s=%s&t=%t&u=%u
    
    When a site is blocked, all i get is a blank page, as if the get_error_page function isn't being called.  I'm not a PHP guy nor do I have a clue as to where the PHP logs are, if they exist.
    
    Does anyone have a clue as to how I debug this?</eod<> 
    
    1 Reply Last reply Reply Quote 0
    • M
      marcelloc
      last edited by Jan 29, 2015, 5:30 PM

      @KOM:

      I've set SquidGuard to block with an Ext URL Error Page to:

      http://pfsense.mydomain.local/sgerror.php?url=http://pfsense.mydomain.local/KOMerr.php&a=%a&n=%n&i=%i&s=%s&t=%t&u=%u

      It looks like this redirect says that http://pfsense.mydomain.local/KOMerr.php is the denied page.

      The complete error page is still sgerror.php or all info is inside KOMerr.php?

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

      Help a community developer! ;D

      1 Reply Last reply Reply Quote 0
      • K
        KOM
        last edited by Jan 29, 2015, 5:49 PM

        The complete error page is still sgerror.php or all info is inside KOMerr.php?

        Thanks.  The sgerror.php is the main error page that includes the function from KOMerr.php.  I've been doing it as per this forum post where they used the URL:

        https://firewall-ip:port#/sgerror.php?url=https://firewall-ip:port#/firewallblock.php&a=%a&n=%n&i=%i&s=%s&t=%t&u=%u

        In my case I substituted http for https and KOMerr.php for firewallblock.php.  I tried using just http://pfsense.mydomain.local/sgerror.php&a=%a&n=%n&i=%i&s=%s&t=%t&u=%u and that didn't work either.

        I fully admit that I have no idea what I'm doing here, so my problem is likely something silly.

        1 Reply Last reply Reply Quote 0
        • M
          marcelloc
          last edited by Jan 29, 2015, 6:11 PM

          If you edit the local sgerror.php, you may not need to call it external or change error url.

          when you call sgerror.php directly can you see your modifications?

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

          Help a community developer! ;D

          1 Reply Last reply Reply Quote 0
          • K
            KOM
            last edited by Jan 29, 2015, 6:28 PM

            I haven't tried that.  The problem with editing the local file is that any changes will be blown away during an upgrade.  The posts I linked to suggested just including the function in an external file so that you only had to add the include statement to the updated sgerror.php.  I know I should move the KOMerr.php out of /usr/local/www but I wanted to get it working at a basic level first.

            1 Reply Last reply Reply Quote 0
            5 out of 5
            • First post
              5/5
              Last post
            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
              This community forum collects and processes your personal information.
              consent.not_received