Security Klasse

In den folgenden Abschnitten werden die einzelnen Methoden der Klasse erklärt.

control


public static mixed control ( mixed $variable, string $convert = null)

Überprüft den Inhalt der Übergebenen $variable und gibt diese gesäubert wieder zurück. Ab v2.0.0 lässt sich auch schädlicher MySQL Code entfernen.

Parameterliste
variable

Die Variabel die auf Schadcode überprüft werden soll. Hierbei sind folgende PHP-Typen erlaubt:

  • string
  • boolean
  • float, decimal
  • integer

convert

Konvertiert die übergebene Variabel in das richtige PHP-Typen Format. Folgende Möglichkeiten stehen zur Verfügung:

  • ip Validiert und Kontrolliert es als IP(4) Adresse
  • email Validiert und Kontrolliert es als E-Mail Adresse
  • decimal Validiert, Konvertiert und Kontrolliert es als Dezimalzahl
  • int Validiert, Konvertiert und Kontrolliert es als Integer.
  • bool Validiert, Konvertiert und Kontrolliert es als Boolean.
  • string Validiert, Konvertiert und Kontrolliert es als String. Hierbei wird auch schädlicher XSS Code entfernt.


url


public static mixed url ( string $variable, string $input = null, string $convert = null)

Lädt den Inhalt einer Systemvariabel und Validiert, Kontrolliert und Konvertiert diesen.

Parameterliste
variable

Der Schlüssel der Systemvariabel. Als Beispiel möchte man den Benutzernamen aus einer $_POST['username'] Systemvariabel holen. Dann muss man in den Parameter $variable folgendes eintragen: security::url('username', 'POST', 'string');

input

Aus welcher Systemvariabel soll der Inhalt geholt werden. Folgende stehen zur Verfügung:

  • post - für $_POST
  • get - für $_GET
  • session - für $_SESSION
  • cookie - für $_COOKIE
  • server - für $_SERVER
  • env - für $_ENV
  • request - für $_REQUEST

convert

In was der Inhalt der Systemvariabel konvertiert werden soll. Dort stehen folgende Typen zur Verfügung:

  • ip Validiert die IP Adresse. Handelt es sich um keine IP-Adresse, gibt dieser ein false zurück.
  • email Validiert die E-Mail Adresse. Ist es keine gültige E-Mail Adresse, wird ein false zurückgegeben.
  • decimal Validiert die Dezimalzahl. Ist es keine Dezimalzahl wird ein false zurückgegeben.
  • int Validiert das Integer. Ist es kein Integer wird ein false zurück gegeben.
  • bool Validiert das Boolean. Ist es kein Boolean wird ein null zurück gegeben.
  • string Validiert den String. Ist die Validierung fehlgeschlagen oder tritt ein anderer Fehler auf, wird ein false zurück gegeben.


create_csrf_token (ab v2.6.0)


public static string|bool create_csrf_token(string $token_name, $token_duration = 0)

Erstellt einen CSRF Überprüfungs Token für z.b ein HTML Formular.

Parameterliste
token_name

Der Name den der Token tragen soll. Mit diesem Namen kann man anschließend das Token wieder abfragen.

token_duration

Die Lebensdauer eines Tokens. Wenn kein Wert eingestellt ist, wird der Wert automatisch auf 24 Stunden gesetzt.


exists_csrf_token (ab v2.6.0)


public static bool exists_csrf_token(string $token_name)

Kontrolliert ob ein Token mit dem übergebenen $token_name existiert!

Parameterliste
token_name

Der Name des Tokens der kontrolliert werden soll.


get_csrf_token (ab v2.6.0)


public static string|bool get_csrf_token(string $token_name, bool $remove_token_after = false)

Gibt den Inhalt des Tokens zurück, dessen Name angegeben wurde. Anschließend kann der Token automatisch gelöscht werden.

Parameterliste
token_name

Der Name des Token dessen Inhalt zurück gegeben werden soll!

remove_token_after

Kann angegeben werden, ob der Token nach dieser Abfrage entfernt werden soll! Standartmäßig auf false


remove_csrf_token (ab v2.6.0)


public static bool remove_csrf_token(string $token_name)

Entfernt einen angegebenen Token.

Parameterliste
token_name

Der Name des Token, der entfernt werden soll.


get_mime_type


public static bool|mixed get_mime_type ( string $path)

Gibt den MIME-Type des absoluten Pfades zurück. Hierbei wird die finfo_open und finfo_file Funktion benötigt. Ist diese in PHP nicht installiert, wird ein Exception Fehler erzeugt.

Parameterliste
path

Der absolute Pfad zur Datei dessen MIME-Type zurück gegeben werden soll.


get_file_type


public static mixed get_file_type ( string $path)

Gibt die Dateiendung einer Datei zurück.

Parameterliste
path

Der absolute Pfad zur Datei, dessen Dateiendung zurückgegeben werden soll.


sha_sec


public static string sha_sec ( string $string)

Verschlüsselt einen String in 512 Byte mit der SECURITY_KEY Konstante als Schlüssel.

Parameterliste
string

Der String der Verschlüsselt werden soll.


remove_invisible_characters


public static string remove_invisible_characters ( string $str, bool $url_encoded = true)

Entfernt alle Leerzeichen oder unsichtbare Elemente aus einem String. Hierbei können auch unsichtbare URL Kodierte Zeichen entfernt werden.

Parameterliste
str

Der String der auf unsichtbare Zeichen geprüft und gereinigt werden soll.

url_encode

Ob auch unsichtbare URL Kodierte Zeichen entfernt werden sollen.


is_bot


public static array is_bot ( )

Kontrolliert ob der aktuelle Benutzer ein Roboter(Bot) oder eine reale Person ist. Hierbei können vor allem Suchmaschinen Crawler identifiziert werden. Dabei wird ein Array zurück geliefert das auch die aktuelle Version des Bots mit zurück gibt.


get_ip_address


public static mixed get_ip_address ( )

Gibt die aktuelle IP-Adresse des Benutzer zurück. Dabei werden interne IP Adressen nicht berücksichtigt. Gleichzeitig wird auch kontrolliert ob es sich um eine Proxy IP-Adresse handelt oder nicht. Wurde keine IP-Adresse gefunden, wird ein false zurück gegeben.