SQL-Injektion - Einblicke und Gegenmaßnahmen

 

Immer häufiger entstehen Schwachstellen in Web-Applikationen, weil die Entwickler versäumen Ihre Software gegen die Manipulation von außen durch entsprechende Techniken abzusichern. Eine häufig benutze Angriffsmethode stellt dabei die so genannte SQL-Injektion dar.

Mit der entsprechenden Sorgfalt und auch einem gewissen Mehraufwand ist man allerdings hat man als Entwickler allerdings durchaus die Möglichkeit sich bzw. Seine Anwendung gegen SQL-Injektion zu schützen.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

Creole, eine Datenbankabstraktionsschicht für PHP5

 

Creole Logo

Nicht nur für Skriptsprachen wie PHP, - aber gerade gerade für diese, ist der Zugriff auf Datenbanken unerlässlich. PHP bietet zwar schon von sich aus die Möglichkeit auf fast alle gängigen Datenbanken zuzugreifen, allerdings ist die Implementation sehr speziell und die darunter liegende Datenbank-Engine ist nicht beliebig austauschbar.

Damit diese und andere Nachteile der PHP-eigenen Implementation für den Entwickler nicht zum Fiasko werden gibt es verschiedenste Abstraktionsschichten für Datenbanken. Eine davon (Creole) möchte ich heute einmal vorstellen.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

MySQL-NDB-Cluster Installation und Konfiguration (HOWTO)

 

Mysql Logo

Seit einigen MySQL-Versionen gibt es die Möglichkeit Datenbanken (oder Teile davon) zu Clustern
Wie man einen solchen Cluster mit ndb-Storage-Engine installiert bzw. konfiguriert möchte ich in diesem HOWTO zeigen.

Erst einmal sollte man sich über ein paar Sachen im Klaren sein:

  • Ein ndb-Cluster besteht mindestens aus 3 Nodes (wobei eine node für das Management benötigt wird)
  • Bestimmte Features von MyISAM-Tabellen (z.B. FullText Index) gibt es in beim ndb-Cluster nicht.
  • Der komplette Datenbestand wird im RAM der jeweiligen Node gehalten. Das bedeutet Grenzen für die Größe der Datenbank-Tabellen.
  • Es sollte sehr regelmäßig ein Dump der Daten gezogen werden, weil bei einem kompletten Zusammenbruch des Clusters (was natürlich nicht passieren sollte) sämtliche Daten seit dem letzten Backup weg sind.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

Der Traum von der eigenen Suchmaschine

 

Sphinx Suchengine

Relevante Daten in einem Dickicht von tausend und aber tausend Datensätzen zu finden ist sicher nicht die einfachste Aufgabe. Jeder, der schon einmal versucht hat eine eigene Suchengine zu implementieren wird sicher neidvoll auf die Ergebnisse von professionellen Suchmaschinen wie google.de geschaut haben.

Nun gibt es aber auch eine OpenSource-Engine, die sehr gute Ergebnisse auch bei sehr großen Datenmengen bietet.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl
 

Nested Sets - oder wie man Baumstrukturen effizient in Datenbanken hält

 

Nested Sets sind ein sehr nützliches Modell, mit dem man einen Baum so in einer Datenbank abbilden kann, dass Lesezugriffe darauf sehr schnell von statten gehen.
Genau dieser Vorteil ist allerdings durch eine sehr moderate Schreibgeschwindigkeit getrübt.

Weiterlesen…

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Technorati
  • MisterWong
  • del.icio.us
  • Digg
  • BlinkList
  • Furl