Skip to content

5.1 Filters Example Host

Gurdeep Singh (Guru) edited this page Aug 11, 2024 · 1 revision

Filters Examples

Filter Type: Host

Via CLI

admin@phpterminal:firewall(config)# filter add block host 8.8.8.8

Filter added successfully

FILTER ADD BLOCK HOST 8.8.8.8 OUTPUT
NEWFILTER > FILTER_TYPE : block
NEWFILTER > ADDRESS_TYPE : host
NEWFILTER > ADDRESS : 8.8.8.8
NEWFILTER > IP2LOCATION_PROXY : -
NEWFILTER > UPDATED_BY : 1
NEWFILTER > UPDATED_AT : 1723370701
NEWFILTER > HIT_COUNT : 0
NEWFILTER > PARENT_ID : null
NEWFILTER > ID : 1

admin@phpterminal:firewall# 

Via PHP Firewall Class

$newFilter = $firewall->addFilter(
    [
        'filter_type'       => 'block',
        'address_type'      => 'host',
        'address'           => '8.8.8.9'
    ]
);

var_dump($newFilter);

// OUTPUT
// /var/www/html/projects/phpfw/index.php:16:
array (size=9)
  'filter_type' => string 'block' (length=5)
  'address_type' => string 'host' (length=4)
  'address' => string '8.8.8.9' (length=7)
  'ip2location_proxy' => string '-' (length=1)
  'updated_by' => int 0
  'updated_at' => int 1723370957
  'parent_id' => null
  'hit_count' => int 0
  'id' => int 2
  • Verify the above entries
admin@phpterminal:firewall# show filters
+-------+-----------------+-----------------+-----------------------+------------+------------+----------------------------+----------------------------+-------------------------------+
| ID    | FILTER_TYPE     | ADDRESS_TYPE    | ADDRESS               | IP_HITS    | HIT_COUNT  | UPDATED_BY                 | UPDATED_AT                 | IP2LOCATION_PROXY             |
+-------+-----------------+-----------------+-----------------------+------------+------------+----------------------------+----------------------------+-------------------------------+
| 1     | block           | host            | 8.8.8.8               | -          | 0          | Administrator              | 2024-08-11 10:05:01        | -                             |
| 2     | block           | host            | 8.8.8.9               | -          | 0          | 0                          | 2024-08-11 10:09:17        | -                             |
+-------+-----------------+-----------------+-----------------------+------------+------------+----------------------------+----------------------------+-------------------------------+
Showing record : 2/2. Page : 1/1. 

admin@phpterminal:firewall# 
  • Once the above entries are created, we can check if they are being hit and indexed.

NOTE: Look at the time difference of searching the entry in database and in indexes.

admin@phpterminal:firewall# check ip 8.8.8.8

8.8.8.8 address found in host database. It took 0.0020248889923096(s) and 1.81 kb of memory.

Blocked

CHECK IP 8.8.8.8 OUTPUT
DEFAULT_FILTER : No
FILTER > FILTER_TYPE : block
FILTER > ADDRESS_TYPE : host
FILTER > ADDRESS : 8.8.8.8
FILTER > IP2LOCATION_PROXY : -
FILTER > UPDATED_BY : 1
FILTER > UPDATED_AT : 1723370701
FILTER > HIT_COUNT : 2
FILTER > PARENT_ID : null
FILTER > ID : 1

admin@phpterminal:firewall# check ip 8.8.8.8

8.8.8.8 address found in indexes. It took 0.00025796890258789(s) and 2.49 kb of memory.

Blocked

CHECK IP 8.8.8.8 OUTPUT
DEFAULT_FILTER : No
FILTER > FILTER_TYPE : block
FILTER > ADDRESS_TYPE : host
FILTER > ADDRESS : 8.8.8.8
FILTER > IP2LOCATION_PROXY : -
FILTER > UPDATED_BY : 1
FILTER > UPDATED_AT : 1723370701
FILTER > HIT_COUNT : 3
FILTER > PARENT_ID : null
FILTER > ID : 1

admin@phpterminal:firewall#