Class TRALSecurity

Unit

Declaration

type TRALSecurity = class(TPersistent)

Description

Base class for Server Security definitions

Hierarchy

Overview

Methods

Public constructor Create;
Public destructor Destroy; override;
Public function CheckBlockClientIP(const AClientIP: StringRAL): boolean;
Public function CheckBlockClientTry(const AClienteIP: StringRAL): boolean;
Public function CheckFlood(const AClientIP: StringRAL): boolean;
Public function GetBlockClient(const AClientIP: StringRAL): TRALClientBlockList;
Public function GetBlockClientTry(const AClientIP: StringRAL): integer;
Public function GetClientList(const AClientIP: StringRAL): TRALClientList;
Public procedure BlockClient(const AClientIP: StringRAL);
Public procedure ClearExpiredIPs;
Public procedure UnblockClient(const AClientIP: StringRAL);

Properties

Published property BlackIPList: TStringList read GetBlackIPList write SetBlackIPList;
Published property BruteForce: TRALBruteForceProtection read FBruteForce write SetBruteForce;
Published property FloodTimeInterval: IntegerRAL read FFloodTimeInterval write SetFloodTimeInterval;
Published property Options: TRALSecurityOptions read FOptions write SetOptions;
Published property WhiteIPList: TStringList read GetWhiteIPList write SetWhiteIPList;

Description

Methods

Public constructor Create;
 
Public destructor Destroy; override;
 
Public function CheckBlockClientIP(const AClientIP: StringRAL): boolean;

Verifies if the Client IP is blacklisted

Public function CheckBlockClientTry(const AClienteIP: StringRAL): boolean;

Checks if the number de tries of client exceed the established limit

Public function CheckFlood(const AClientIP: StringRAL): boolean;

Verifies if the incomming IP is known for request flooding

Public function GetBlockClient(const AClientIP: StringRAL): TRALClientBlockList;

Gets a client block object from the list of blocked IPs

Public function GetBlockClientTry(const AClientIP: StringRAL): integer;

Gets the number of tries to block client, in case client is not blocked return zero

Public function GetClientList(const AClientIP: StringRAL): TRALClientList;

Gets a client object from the list of blocked IPs

Public procedure BlockClient(const AClientIP: StringRAL);

Adds the Client IP to the internal blocked IP list

Public procedure ClearExpiredIPs;

Removes the IPs that are stored longer than the preconfigured duration

Public procedure UnblockClient(const AClientIP: StringRAL);

Removes an IP from the list of blocked IPs

Properties

Published property BlackIPList: TStringList read GetBlackIPList write SetBlackIPList;

List of IPs that will not receive a response from the server

Published property BruteForce: TRALBruteForceProtection read FBruteForce write SetBruteForce;

Set of configurations to block BruteForce attacks

Published property FloodTimeInterval: IntegerRAL read FFloodTimeInterval write SetFloodTimeInterval;

Time in miliseconds between requests by the same IP that the server will allow

Published property Options: TRALSecurityOptions read FOptions write SetOptions;

Flags that will enable/disable security features

Published property WhiteIPList: TStringList read GetWhiteIPList write SetWhiteIPList;

List of IPs that will always receive a response from the server and won't be blocked



GitHub Repository
Generated by PasDoc 0.16.0.