Programmierung


Hab eben noch beim surfen einen Blog Eintrag bei NerdBusiness entdeckt, der 5978 qualitativ hochwertige Icons für Web- und normale Applikationen, sowie RSS enthält. Die meisten Icons sind auch ausreichend groß um sie beliebig zu skalieren. Zufinden sind die Icons unter http://nerdbusiness.com/blog/5978-high-quality-icons-web-apps-rss
I just discovered an interesting Blog entry at NerdBusiness, which contains 5978 high quality icons for Web, Applications and RSS for free. Most of the Icons are large enough to be resized as you need it. You can find the icons at http://nerdbusiness.com/blog/5978-high-quality-icons-web-apps-rss


Im Rahmen eines Projektes lautete die Kundenanforderung, ein Reverseproxysystem zur Verfügung zu stellen, welches dahinterliegende Webanwendungen mit einer eigenen autonomen Benutzerverwaltung schützt. Im ersten Augenblick eigentlich ein Fall für die diversen Autorisierungsmodule des Apachen. Jedoch sollte zum einen der Login nicht dieses übliche “Unauthorized” Kästchen des jeweilgen Browsers sein, sondern eine hübsche Anmeldeseite. Außerdem sollte es nicht möglich sein über einen direkten Link auf die Seite ohne Anmeldung zuzugreifen.

Da mir keine Möglichkeit bekannt ist, dies mit den Standardmodulen zu realisieren, hab ich mich auf der Suche nach einer Lösung gemacht, und bin fündig geworden. Das entsprechende Apache2-Modul nennt sich ‘mod_auth_form’ und liegt leider nicht bei den Standardmodulen des Apachen dabei.

‘ mod_auth_form’ basiert auf mod_auth_mysql und mod_auth_sim. Ein Auszug der Funktionsweise in Englisch von der Projekthomepage:

The mechanics of the module works in the following way. A web client (user) requests for a restricted page/directory. The module sends back a ‘Page Has Moved’ error, pointing the client to the page containing a login form. Through server-side scripting, a session is created in the MySQL database and the client (i.e. cookies or query string). The session itself consists of a unique, random, and temporary ID that is associated with a user. The client then makes the same request along with the session ID (SID) and the user ID (UID). The module compares and validates the two IDs against the IDs stored in the MySQL database. If successful, the module sends back the requested page; otherwise, the module once again sends back the ‘Page Has Moved’ error page. In addition (if specified), the module will also validate the user’s group membership and act accordingly.

Bei Gelegenheit poste ich eventuell demnächst mal ein Tutorial zum Einsatz. Da es das Modul nicht als RPM gibt, habe ich mal eins für Fedora 8 erstellt, welches nachstehend zum Download bereit steht.
mod_auth_form-2.05-1.NWE.fc8.i386.rpm

Nachdem bald mal wieder das ein oder andere PHP Projekt ansteht, habe ich mich mal auf die Suche nach ein paar Arbeitserleichterungen gemacht.

Doctrine


Die eine Erleichterung über die ich gestolpert bin, nennt sich Doctrine. Doctrine ist ein ORM (object relational mapper) für PHP 5.2.x und sitzt auf einem leistungsstarken DBAL (database abstraction layer). Mit Doctrine kann man sozusagen mit einer Datenbank in Objekten anstelle von Skalaren sprechen. Ich werde mir die Sache mal genauer ansehen, und vielleicht bei dem ein oder anderen Projekt verwenden.

CodeIgniter

Die zweite Erleichterung nennt sich “CodeIgniter” und nennt sich selbst ein leistungsstarkes PHP Framework. Im Gegensatz zu PEAR scheint die ganze Angelegenheit nicht ganz so aufgebläht. Auch dies werde ich mir wohl demnächst mal zu Gemüte führen, ich bin mir sicher, damit lässt sich eventuell einiges an Arbeit sparen.

NonPlusUltra

Perfekt wäre es natürlich wenn man beide Komponenten sauber miteinander verbinden könnte, auch dies gilt es jedoch erst herauszufinden. Sobald ich über alles genau Bescheid weiß, gibts hier sicher wieder Neuigkeiten.

Links