PHP Blogger

Startseite Schreib mir ne Mail! RSS Abo Webnews

Zwischen SSL und ‘normalem’ HTTP hin- und herschalten

Via PHP Adventskalender von Chris Shiflett, Tag 4. Heute hat Chris mal wieder ein sehr interessantes Türchen in seinem Adventskalender aufgemacht: Herausgehüpft ist der Neuseeländer James McGlinn.

Er erinnert uns daran, SSL nur dann zu verwenden, wenn es um die Übetragung von privaten Daten geht - z.B. im Onlineshop oder beim Login. Für “normale” Webseiten benötigt man kein SSL.

Wer eine Seite mit SSL Zertifikat betreibt, weiß, dass diese ganze SSL Maschine ziemlich viel Serverleistung frisst. Warum also Performance verschwenden, wenn man nicht muss? Im Juni gabs einen Artikel vom PHP Blogger zum Thema “SSL erwzingen“, aber James geht noch weiter:

Er verwendet 2 Arrays zur Konfiguration (das sollte man auf jeden Fall an die Konfigurationsmethode seiner Applikation bzw. des verwendeten Frameworks anpassen - z.B. Stichwort yaml bei symfony):

  1. Im ersten Array speichert er den SSL-Host und den None-SSL Host mit dem Standard-Webroot.
  2. Im zweiten Array werden die URLs der Seiten abgelegt, die mit SSL geschützt werden sollen.

Es ist geschickt, sich nur die Seiten einer Präsenz zu merken, die unter SSL laufen sollen - denn das werden immer die wenigsten sein. Wer meinetwegen einen Shop betreibt, sollte es vielleicht anders herum handeln. Meist ist ein Shop aber immer ein Teil einer Präsenz.

Dann gibt es wieder 2 Blöcke: Der erste prüft, ob SSL eingeschaltet ist - wenn nicht, wird geprüft ob die Seite unter SSL verfügbar sein soll - und wenn ja, wird ein Location-Header gesetzt…

Im 2. Block wird geprüft, ob die Seite überhaupt mit SSL geschützt sein soll, wenn SSL eingeschaltet ist. Sonst: Redirect auf ungeschützte URL.

Der Trick ist, das in beiden Fällen auch kontrolliert wird, ob via POST übertragen wurden. Dann muss natürlich eine Action greifen, die die Daten weiterverarbeitet :)

Den Quellcode und eine ausführliche (englische) Beschreibung gibts im Türchen Nummer 4

Teile und genieße Diese Icons verzweigen auf soziale Netzwerke bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

Schreib Deine Meinung