Dienstag, 28. Dezember 2010

Einfaches Modulsystem in PHP für wissenschaftliche Software

Die Anforderung ist eine PHP-Datei zu haben, in die man ein Modul / eine Klasse einfügen kann, die eine Schnittstelle zu einer wissenschaftlichen Software bereitstellt. Letztere wird dann von PHP auf der Kommandozeile ausgeführt.

Diese Module sollen, wenn in die Datei manuell eingefügt, automatisch erkannt und dem Benutzer im Webinterface zur Auswahl bereitgestellt werden. Dafür fragt PHP alle vorhandenen Klassen mittels get_declared_classes() ab. Danach wird mit is_subclass_of($object, $klasse) gecheckt, ob die Klasse eine Subklasse von der abstrakten Modulsuperklasse ist. Diese "markiert" eine erbende Klasse als Modul und verbirgt Eigenschaften vor demjenigen, der ein Modul anlegen will. Dies macht die Sache für denjenigen am Schluss sehr einfach.

Die beiden Funktionen get_declared_classes() und is_subclass_of($object, $klasse) sind in den beieden vorigen Posts beschrieben.

get_declared_classes

Amplify’d from php.net

get_declared_classes

get_declared_classes — Ermittelt die Namen der definierten Klassen

Beschreibung


array get_declared_classes( void)

Liefert ein Array mit den Namen der zur Zeit definierten Klassen.
Read more at php.net

is_subclass_of

Amplify’d from php.net
is_subclass_of — Prüft ob ein Objekt von der angegebenen Klasse abstammt

Beschreibung

bool is_subclass_of( mixed $object, string $class_name)

Diese Funktion prüft ob das Objekt object von der Klasse class_name abstammt. 

Parameter-Liste

object
Ein Klassenname oder eine Objektinstanz 

class_name
Ein Klassenname
Read more at php.net

Freitag, 24. Dezember 2010

Cloud Computing: Sicherheitsrisiken am Beispiel von EC2

Hier mal meine 1. Ausarbeitung mit dem Thema "Cloud Computing: Sicherheitsrisiken am Beispiel vom Amazon EC2". Dabei handelt es sich um ein 6 Seiten langes Paper, in welchem Strategien für Attacken auf Amazon EC2  beschrieben werden. Es geht viel um Koresidenz von VMs und um sogenannte "Side-Channels", also Seitenkanäle, über die man die Aktivität anderer VMs, die auf dem gleichen physischen Rechner liegen, abhören kann.