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

Customizing Error Page

Scheduled Pinned Locked Moved pfBlockerNG
22 Posts 7 Posters 3.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.
  • G
    Grunt0307
    last edited by Jun 2, 2019, 7:11 PM

    I am running pfSense 2.4.4 with pfBlockerNG-devel 2.2.5_23. I created and slightly altered the CSS styling of the block page. What i want to do is change the information in the table that appears from referrer, client, user agent to client, feed or client, category. I see where that information is pulled by index.php in what I think is an array variable, but I am unsure of what other values exist in that array. Is what I'm asking for possible, does anyone know where I can find out what additional values can be used?

    B 1 Reply Last reply Jun 13, 2019, 2:29 AM Reply Quote 0
    • G
      Grunt0307
      last edited by Jun 2, 2019, 8:48 PM

      Managed to get the styling about the way I want it, centered on the page and displays properly on mobile browser.
      b1800a7f-b245-491b-bfe7-3fc61b53d36d-image.png

      It's probably not the prettiest code but it works well enough

      <!DOCTYPE html>
      <html lang="en">
      <head>
              <meta name="viewport" content="width=device-width, initial-scale=1">
              <title>Page Blocked</title>
      </head>
      <style type="text/css">
              .content {
                      position: absolute;
                      top: 50%;
                      left: 50%;
                      transform: translate(-50%,-50%);
                      width: 90%;
                      padding-right: 20px;
              }
              .img {
                      display: block;
                      text-align: center;
              }
              .p {
                      text-align: center;
                      margin-block-start: initial;
                      margin-block-end: initial;
                      padding-bottom: 20px;
              }
              body {
                      font: 14px/20px Roboto, "Lucida Grande", Tahoma, Verdana, sans-serif;
                      color: #ECECEC;
                      background: #000000;
                      display: table-cell;
                      transform: translate(0%,50%);
                      text-align: center;
              }
              html {
                      display: table;
                      margin: auto;
              }
              table {
                      border-collapse: collapse;
                      border-spacing: 0;
                      background: #DEE9FF;
                      color: #000000;
                      border-color: black;
              }
              th, td {
                      padding: 5px;
                      text-align: left;
              }
              th {
                      background-color: #FF0000;
                      color: #FFFFFF;
              }
              a {
                      color: #FFFFFF;
                      font-size: 75%;
              }
      </style>
      
      <body class="content">
              <div class="img">
      <img src=" data:image/png;base64,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"/></div>
      	<div>
                      <p class="p"><strong><u><?=$ptype['HTTP_HOST']?></u></strong> has been blocked by pfSense</p>
                      <div>
                              <table>
                                      <thead>
                                              <tr id="pfb_header">
                                                      <th>Referer</th>
                                                      <th>Client</th>
                                                      <th>User Agent</th>
                                              </tr>
                                      </thead>
                                      <tbody>
                                              <tr>
                                                      <td><?=$ptype['HTTP_REFERER'];?></td>
                                                      <td><?=$ptype['REMOTE_ADDR'];?></td>
                                                      <td><?=$ptype['HTTP_USER_AGENT'];?></td>
                                              </tr>
                                      </tbody>
                              </table>
                      </div>
              </div>
      </body>
      </html>
      
      R 1 Reply Last reply Jun 4, 2019, 12:54 AM Reply Quote 2
      • R
        rickygm @Grunt0307
        last edited by Jun 4, 2019, 12:54 AM

        @Grunt0307 Hi, I'm not an expert, but where would the modification or what path and file would I have to add?

        1 Reply Last reply Reply Quote 0
        • G
          Grunt0307
          last edited by Jun 4, 2019, 2:10 AM

          If you want to duplicate what is in the screenshot above, SSH into your pfsense box and enter the below command to create a new error page, then paste my above code into it.

          vi /usr/local/www/pfblockerng/www/dnsbl_custom.php

          After you've done all that, go to the admin guiI>Firewall>pfBlockerNG>DNSBL. Under the DNSBL Configuration section, you should see a list, dnsbl_default.php and your new file, dnsbl_custom.php. Select dnsbl_custom.php and then save, the change is immediate.

          1 Reply Last reply Reply Quote 0
          • R
            rickygm
            last edited by Jun 4, 2019, 5:01 PM

            thank for you help.

            1 Reply Last reply Reply Quote 0
            • B
              BBcan177 Moderator @Grunt0307
              last edited by BBcan177 Jun 13, 2019, 2:30 AM Jun 13, 2019, 2:29 AM

              @Grunt0307 said in Customizing Error Page:

              I am running pfSense 2.4.4 with pfBlockerNG-devel 2.2.5_23. I created and slightly altered the CSS styling of the block page. What i want to do is change the information in the table that appears from referrer, client, user agent to client, feed or client, category. I see where that information is pulled by index.php in what I think is an array variable, but I am unsure of what other values exist in that array. Is what I'm asking for possible, does anyone know where I can find out what additional values can be used?

              Check out the latest Block Page... Still a bit of work to go before I release it, so test it out and send back any feedback!
              Thanks!

              Desktop/Mobile views:
              03db28bd-1af4-4cf0-895f-1130d53dbe44-image.png

              b4d639ca-8e2f-4ecf-bafe-b3ab008ffa99-image.png

              Instructions:

              From a pfSense shell or from pfSense Diagnostics > Command Prompt > Execute Shell Command:

              fetch -o /usr/local/www/pfblockerng/www/index.php "https://gist.githubusercontent.com/BBcan177/1c4c9a1dfece234a14caf2407629153c/raw"
              
              fetch -o /usr/local/www/pfblockerng/www/dnsbl_new.php "https://gist.githubusercontent.com/BBcan177/aa72e472db2b251ed188a51e1166c1d1/raw"
              

              Then in the DNSBL Tab > Blocked Webpage: select the "dnsbl_new.php" webpage and Save.

              "Experience is something you don't get until just after you need it."

              Website: http://pfBlockerNG.com
              Twitter: @BBcan177  #pfBlockerNG
              Reddit: https://www.reddit.com/r/pfBlockerNG/new/

              1 Reply Last reply Reply Quote 4
              • G
                Grunt0307
                last edited by Jun 14, 2019, 2:33 AM

                Cool, however, it doesn't look like something is working quite right. Do I need to restart pfblocker?

                53f33ac9-ff59-45e2-b281-3a21b4c57ce3-image.png

                T 1 Reply Last reply Jun 15, 2019, 12:08 AM Reply Quote 0
                • T
                  turker
                  last edited by turker Jun 15, 2019, 12:00 AM Jun 14, 2019, 11:57 PM

                  5d969a98-0f37-49f4-918f-fe5a831b0c7d-image.png 👍

                  1 Reply Last reply Reply Quote 0
                  • T
                    turker @Grunt0307
                    last edited by turker Jun 15, 2019, 12:09 AM Jun 15, 2019, 12:08 AM

                    @Grunt0307 said in Customizing Error Page:

                    Cool, however, it doesn't look like something is working quite right. Do I need to restart pfblocker?

                    53f33ac9-ff59-45e2-b281-3a21b4c57ce3-image.png

                    Same problem. Refresh a page. Then it works

                    1 Reply Last reply Reply Quote 0
                    • G
                      Grunt0307
                      last edited by Jun 15, 2019, 12:55 AM

                      Oh ya, that's strange...I'm not nearly savvy enough to understand why that's happening though.

                      1 Reply Last reply Reply Quote 0
                      • B
                        BBcan177 Moderator
                        last edited by Jun 15, 2019, 12:59 AM

                        There was a change to the code yesterday. So not sure when you downloaded those files? Please re-run those two commands to get the latest revision:

                        https://www.reddit.com/r/pfBlockerNG/comments/c008j5/provide_feedback_on_new_dnsbl_block_page/

                        "Experience is something you don't get until just after you need it."

                        Website: http://pfBlockerNG.com
                        Twitter: @BBcan177  #pfBlockerNG
                        Reddit: https://www.reddit.com/r/pfBlockerNG/new/

                        G 1 Reply Last reply Jun 15, 2019, 11:51 PM Reply Quote 0
                        • G
                          Grunt0307 @BBcan177
                          last edited by Jun 15, 2019, 11:51 PM

                          @BBcan177 Still the same behavior.

                          B 1 Reply Last reply Jun 15, 2019, 11:59 PM Reply Quote 0
                          • B
                            BBcan177 Moderator @Grunt0307
                            last edited by Jun 15, 2019, 11:59 PM

                            @Grunt0307
                            Re-select the default block page, save, then select the new test webpage and save.

                            "Experience is something you don't get until just after you need it."

                            Website: http://pfBlockerNG.com
                            Twitter: @BBcan177  #pfBlockerNG
                            Reddit: https://www.reddit.com/r/pfBlockerNG/new/

                            G 1 Reply Last reply Jun 16, 2019, 4:21 AM Reply Quote 0
                            • G
                              Grunt0307 @BBcan177
                              last edited by Jun 16, 2019, 4:21 AM

                              @BBcan177

                              Yup, that's the first thing I did. Ran the two commands to pull down the new files, then went into the gui, selected the default page and saved it, then selected the new page and saved it. Still getting nothing in some of the fields on first load but refreshing the page fills in the info.

                              B 1 Reply Last reply Jun 16, 2019, 4:50 AM Reply Quote 0
                              • B
                                BBcan177 Moderator @Grunt0307
                                last edited by BBcan177 Jun 16, 2019, 4:50 AM Jun 16, 2019, 4:50 AM

                                @Grunt0307

                                A new revision has been made to add a small timeout to the code... Thanks for @Grunt0307 for testing it out! Appreciate the Feeback and Support!

                                For anyone having the same issue, please re-download the index.php file as per my previous command.

                                "Experience is something you don't get until just after you need it."

                                Website: http://pfBlockerNG.com
                                Twitter: @BBcan177  #pfBlockerNG
                                Reddit: https://www.reddit.com/r/pfBlockerNG/new/

                                1 Reply Last reply Reply Quote 0
                                • T
                                  turker
                                  last edited by Jun 16, 2019, 7:35 AM

                                  @BBcan177 said in Customizing Error Page:

                                  please re-download the index.ph

                                  I changed index.php. I ran these two commands again. same behavior
                                  (win1064 chrome, firefox,edge. android. ipad safari.)

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    rickygm
                                    last edited by Jun 21, 2019, 7:49 PM

                                    not work for me.

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      arian_0098
                                      last edited by arian_0098 Jul 8, 2019, 2:08 AM Jul 8, 2019, 2:08 AM

                                      @BBcan177

                                      S***y design, but same issue ... should refresh the page to view other infos.

                                      Grabbed files yesterday and did exactly like you said.

                                      B 1 Reply Last reply Jul 8, 2019, 2:14 AM Reply Quote 0
                                      • B
                                        BBcan177 Moderator @arian_0098
                                        last edited by Jul 8, 2019, 2:14 AM

                                        New version posted today - re-download.

                                        "Experience is something you don't get until just after you need it."

                                        Website: http://pfBlockerNG.com
                                        Twitter: @BBcan177  #pfBlockerNG
                                        Reddit: https://www.reddit.com/r/pfBlockerNG/new/

                                        A M 2 Replies Last reply Jul 8, 2019, 11:38 PM Reply Quote 1
                                        • A
                                          arian_0098 @BBcan177
                                          last edited by Jul 8, 2019, 11:38 PM

                                          @BBcan177 said in Customizing Error Page:

                                          New version posted today - re-download.

                                          Fixed ... it refreshes the page immediately ... but curious to know why this issue wasn't present in last template.

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