add event types and ip detection

This commit is contained in:
2024-02-05 21:35:41 +05:00
parent a44f20cce1
commit 9639d80704
9 changed files with 478 additions and 9 deletions

View File

@@ -6,6 +6,17 @@ use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request as GuzzleRequest;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Stevebauman\Location\Facades\Location;
/**
* Check if a client IP is in our Server subnet
*
* @param string $server_ip
*/
function isLocalIp(string $ip = ''): bool
{
return ! filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE);
}
/**
* Un mask phone from "+(993)-xx-xx-xx-xx"
@@ -67,7 +78,7 @@ function sendSMSVerification(string|int $phone_number): ?Verification
function storeAuthEvent(string $name, Request $request): void
{
Log::channel('auth_activity')
->info(sprintf(
->{EventType::logType($name)}(sprintf(
'%s, APP_NAME: %s, REQUEST_TYPE: %s, SOURCE_IP: %s, SOURCE_PORT: %s, SOURCE_URL: %s, DESTINATION_IP: %s, DESTINATION_PORT: %s, DESTINATION_COUNTRY: %s, USER_ID: %s',
$name,
config('app.name'),
@@ -77,7 +88,7 @@ function storeAuthEvent(string $name, Request $request): void
$request->url(),
$request->host(),
$request->getPort(),
'tk',
isLocalIp($request->ip()) ? 'TM' : Location::get($request->ip()),
$request->user()->id ?? '-',
));
}
@@ -100,7 +111,7 @@ function storeResourceEvent(string $name, array $data, Request $request): void
}
Log::channel('resource_activity')
->info(sprintf(
->{EventType::logType($name)}(sprintf(
'%s, APP_NAME: %s, REQUEST_TYPE: %s, SOURCE_IP: %s, SOURCE_PORT: %s, SOURCE_URL: %s, DESTINATION_IP: %s, DESTINATION_PORT: %s, DESTINATION_COUNTRY: %s, USER_ID: %s, MODEL_NAME: %s, BEFORE: %s, AFTER: %s',
$name,
config('app.name'),
@@ -110,7 +121,7 @@ function storeResourceEvent(string $name, array $data, Request $request): void
$request->url(),
$request->host(),
$request->getPort(),
'tk',
isLocalIp($request->ip()) ? 'TM' : Location::get($request->ip()),
$request->user()->id ?? '-',
get_class($data[0]),
json_encode($before),