The EuroCMS Access/Audit logger?
The analytics module already logs every GET, POST,... request to the analytics table.
This Access Logger is mostly for code logging. Which code executed which code??
Think
-
Ponder on what you want to log that is not logged via the Analytics module.
-
Make this is an audit log?
Database table
Work in progress
| access_id | domain_id | user_id | group_id | SESS_ID | REMOTE_ADDR | REAL_X_IP | SERVER_PROTOCOL | REQUEST_METHOD | start_time | user_agent | browser | browser_version | browser_type | browser_bits | browser_maker | renderingengine_name | renderingengine_version | platform | platform_version | platform_bits | platform_maker | device_name | device_type |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | null | null | {PHP SESS ID} | 127.0.0.1 | {REAL_X_IP} | HTTP/1.0 | GET | {time} | Firefox | 119.0 | Browser | 64 | Mozilla Foundation | Gecko | 119.0 | Ubuntu | 22.04 | 64 | Canonical Foundation | Linux Desktop | Desktop | |
| 1 | 1 | 1 | {PHP SESS ID} | 127.0.0.1 | {REAL_X_IP} | HTTP/2.0 | GET | {time} |
-
access_id: auto incremented numeric value
-
domain_id: The current domain id
-
user_id: The logged in user id. Can be null if no user is logged in.
-
SESS_ID: The PHP Session ID.
-
REMOTE_ADDR: The visitors IP address
-
REAL_X_IP: If behind a proxy this will be filled with the visitors IP
-
SERVER_PROTOCOL: The visitors http protocol: http/1.0,http/2.0
-
REQUEST_METHOD: GET, POST, DELETE,...
-
start_time: The moment the visitor accessed this site
-
user_agent: The visitors user agent.
-
browser_name: The browser name
-
browser_version: The browser version
-
browser_type: The browser type
-
browser_bits: The browser arch type: 32/64?
-
browser_maker: The browser maker
-
renderingengine_name: The browser rendering engine name
-
renderingengine_version: The browser rendering engine version
-
platform: The os the browser is running on: Ubuntu/Android/...
-
platform_version: The platform version: 22.04
-
platform_bits: The platform arch type
-
platform_maker: The created of the platform: Canonical Foundation
-
device_name: The name of the device: Linux Desktop
-
device_type: The type of device: Linux Desktop/Mobile Phone
Permissions
Ponder: This has no permissions. Everything is logged?
It's an access logger/audit log. It's a security breach if one could delete everything from it, but, some logs can be in the GiB+ of sizes. So, a delete permission is added, to give users the ability to delete logs based on the access_id. Access IDs are auto incremented, so the log entry will always show if something has been deleted.
| name | description | values | value_description | value_format | value_example |
|---|---|---|---|---|---|
| access_delete | delete something in the access log | $access_id | delete log entries depending on the access_id value. | csv | 50,51,52,53,54,55 |