SecurityMonitor
in package
uses
Loggable
Table of Contents
Properties
- $blockManager : BlockManager|null
- $database : Database|null
- $effectiveRiskScore : float
- $headerJson : string
- $inputJson : string
- $isMalicious : bool
- $logger : object|null
- $requestHeader : array<string|int, mixed>
- $riskBlockDurations : array<string|int, mixed>
- $riskBlockThresholds : array<string|int, mixed>
- $riskDecayFactor : int
- $riskResetMethod : string
- $sessionJson : string
- $shopEnv : ShopEnv
- $shopEnvironment : array<string|int, mixed>
- $shopEnvironmentJson : string
- $shopName : string
- $sourceFilePath : string
- $user : User
Methods
- __construct() : mixed
- createTables() : void
- Check if needed tables exist and create them if not
- debugDecayFactor() : void
- generateErrorCode() : mixed
- getCalculatedRiskScore() : float|null
- getMalicicousFlag() : bool
- getRiskScore() : mixed
- initialize() : void
- log() : void
- logLoginEvent() : void
- Log login-specific events
- logSecurityEvent() : void
- Log security related events
- resetAttempts() : void
- resetRiskScore() : void
- setDatabase() : void
- setEnvironment() : void
- setMaliciousFlag() : void
- setRequestHeader() : void
- setSecuritySettings() : void
- setShopName() : void
- setSourceFile() : void
- updateLastLoginTime() : mixed
- updateLoginTracking() : mixed
- updateRiskScore() : void
- updateRiskScoreFreezeDuration() : void
- encodeToJson() : string
- saveToDatabase() : void
- increaseFalseLogins() : mixed
Properties
$blockManager
private
BlockManager|null
$blockManager
= null
$database
private
Database|null
$database
= null
$effectiveRiskScore
private
float
$effectiveRiskScore
= 0
$headerJson
private
string
$headerJson
= ''
$inputJson
private
string
$inputJson
= ''
$isMalicious
private
bool
$isMalicious
= false
$logger
private
object|null
$logger
= null
$requestHeader
private
array<string|int, mixed>
$requestHeader
= []
$riskBlockDurations
private
array<string|int, mixed>
$riskBlockDurations
= []
$riskBlockThresholds
private
array<string|int, mixed>
$riskBlockThresholds
= []
$riskDecayFactor
private
int
$riskDecayFactor
= 3600
$riskResetMethod
private
string
$riskResetMethod
= 'exponential'
$sessionJson
private
string
$sessionJson
= ''
$shopEnv
private
ShopEnv
$shopEnv
$shopEnvironment
private
array<string|int, mixed>
$shopEnvironment
= []
$shopEnvironmentJson
private
string
$shopEnvironmentJson
= ''
$shopName
private
string
$shopName
= ''
$sourceFilePath
private
string
$sourceFilePath
= ''
$user
private
User
$user
Methods
__construct()
public
__construct(ShopEnv $shopEnv, User $user[, Database|null $database = null ][, BlockManager|null $blockManager = null ]) : mixed
Parameters
- $shopEnv : ShopEnv
- $user : User
- $database : Database|null = null
- $blockManager : BlockManager|null = null
createTables()
Check if needed tables exist and create them if not
public
createTables() : void
debugDecayFactor()
public
debugDecayFactor(array<string|int, mixed> $params, string $whereSql) : void
Parameters
- $params : array<string|int, mixed>
- $whereSql : string
generateErrorCode()
public
generateErrorCode() : mixed
getCalculatedRiskScore()
public
getCalculatedRiskScore() : float|null
Return values
float|nullgetMalicicousFlag()
public
getMalicicousFlag() : bool
Return values
boolgetRiskScore()
public
getRiskScore() : mixed
initialize()
public
initialize() : void
log()
public
log([mixed $message = '' ][, string $level = 'info' ][, mixed $backtrace = null ][, int $spacing = 0 ]) : void
Parameters
- $message : mixed = ''
- $level : string = 'info'
- $backtrace : mixed = null
- $spacing : int = 0
logLoginEvent()
Log login-specific events
public
logLoginEvent(string $username, string $password, array<string|int, mixed> $input, string $error[, string $riskFactor = '' ]) : void
Parameters
- $username : string
- $password : string
- $input : array<string|int, mixed>
-
Submitted GET & POST Parameters
- $error : string
- $riskFactor : string = ''
logSecurityEvent()
Log security related events
public
logSecurityEvent([string $eventType = 'default' ][, string $context = '' ][, string $description = '' ][, int $riskFactor = 0 ][, bool $isMalicious = false ]) : void
Parameters
- $eventType : string = 'default'
-
What type of event is this
- $context : string = ''
-
(optional) What happened right before in the code
- $description : string = ''
-
(optional) Description of event
- $riskFactor : int = 0
-
(optional) Risk associated with event
- $isMalicious : bool = false
-
(optional) Is it malicious?
Tags
resetAttempts()
public
resetAttempts(string $username, string $ip) : void
Parameters
- $username : string
- $ip : string
resetRiskScore()
public
resetRiskScore() : void
setDatabase()
public
setDatabase(Database $database) : void
Parameters
- $database : Database
setEnvironment()
public
setEnvironment([array<string|int, mixed> $settings = [] ]) : void
Parameters
- $settings : array<string|int, mixed> = []
setMaliciousFlag()
public
setMaliciousFlag(bool $isMalicious) : void
Parameters
- $isMalicious : bool
setRequestHeader()
public
setRequestHeader([array<string|int, mixed> $requestHeader = [] ]) : void
Parameters
- $requestHeader : array<string|int, mixed> = []
setSecuritySettings()
public
setSecuritySettings([array<string|int, mixed> $settings = [] ]) : void
Parameters
- $settings : array<string|int, mixed> = []
setShopName()
public
setShopName([string $shopName = '' ]) : void
Parameters
- $shopName : string = ''
setSourceFile()
public
setSourceFile([string $filename = '' ]) : void
Parameters
- $filename : string = ''
updateLastLoginTime()
public
updateLastLoginTime() : mixed
updateLoginTracking()
public
updateLoginTracking([bool|null $isLoginSuccessful = null ]) : mixed
Parameters
- $isLoginSuccessful : bool|null = null
updateRiskScore()
public
updateRiskScore(int $scoreChange) : void
Parameters
- $scoreChange : int
updateRiskScoreFreezeDuration()
public
updateRiskScoreFreezeDuration(int $duration) : void
Parameters
- $duration : int
encodeToJson()
protected
encodeToJson(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringsaveToDatabase()
protected
saveToDatabase(array<string|int, mixed> $data, mixed $logType) : void
Parameters
- $data : array<string|int, mixed>
- $logType : mixed
increaseFalseLogins()
private
increaseFalseLogins() : mixed