Kategoriearchiv: Abonnement
Erntezeit
Large File Support (LFS) für Git
Entscheidungsfindung mit Constraint Programming
CONTENT SECURITY POLICY
Passwörter mit Hash-Funktionen absichern
Eingebautes Backup in Linux mit rsync
Buid-Management mit Grunt in JavaScript
Validieren von Kreditkartennummern für Online Payments
Wer für seinen Webservice das Bezahlen mit der Kreditkarte anbietet, möchte die Nummer der Kreditkarte möglicherweise bereits im Vorfeld validieren. Auf diese Weise lässt sich die Menge fehlerhafter API Calls reduzieren.
Die Gültigkeit einer Kreditkartennummer lässt sich anhand des Luhn Algorithmus bestimmen. Hans Peter Luhn entwarf den Algorithmus und patentierte diesen 1960 als US Patent 2950048A. Mittlerweile gilt der Algorithmus als public domain und wurde unter ISO/IEC 7812-1 spezifiziert. Der Algorithmus ist sehr allgemein und eignet sich grundsätzlich zur Validierung von Identifikationsnummern. Damit kann das Verfahren auch für die Verwendung von Geschenkkarten beziehungsweise Gutscheincodes angewendet werden.
Um Kreditkarteninhaber vor Betrug beziehungsweise vor Missbrauch zu schützen, kommen beim Onlinebezahlen mehrere Sicherheitsfaktoren zum Tragen. Wichtigster Punkt hierbei ist die Nummer der Kreditkarte in Kombination mit einem Ablaufdatum und einem Prüfcode (CVC/ CVV). Die Laufzeit und die Prüfziffer, welche auf der Kreditkarte ebenfalls aufgedruckt sind, werden von den Kreditkartenfirmen willkürlich vergeben und können daher nur während des Bezahlvorgangs von der Bank verifiziert werden.
Bevor wir uns direkt dem Luhn Algorithmus zuwenden, noch ein Hinweis zum Speichern der Prüfziffern. Diese sollten möglichst nicht in der Datenbank abgelegt werden, sondern jedes Mal aufs Neue erfragt werden. Denn erst durch die Kombination von Kartennummern, Prüfziffer und Ablaufdatum ist das Bezahlen möglich. Fehlt ein einziger Parameter, schlägt der Bezahlvorgang fehl. Sicher kann man argumentieren, dass es für die Nutzer bequemer ist, wenn die Prüfziffer auch hinterlegt wurde. Aber Sicherheit und Komfort sind leider entgegenwirkende Anforderungen. Je höher die Sicherheit umso unbequemer die Benutzung. Wurde aber beispielsweise der Nutzeraccount gehackt oder erfolgreich eine SQL-njektion auf die Datenbank ausgeführt, können die Angreife sofort mit Ihrer Beute auf einen noch verheerenderen Raubzug gehen. Ein solcher Zwischenfall verursacht erheblichen Schaden bei der Reputation des eigenen Onlineangebotes.
Abonnement / Subscription
PHP Anwendungen mit Redis beschleunigen
Das Thema NoSQL ist schon ein wenig älter und mittlerweile auch in Produktivsystemen angekommen. Ein Vertreter aus der NoSQL Familie ist Redis. Es handelt sich um einen sehr einfach zu handhabenden in memory Schlüssel – Wert Speicher. Redis gibt es seit 2009 für alle gängigen Betriebssysteme und Programmiersprachen. Das Haupteinsatzgebiet von Redis ist Caching zur Beschleunigung von Applikationen. In diesem kleinen Workshop lernen Sie alles Notwendige, um Redis in Ihren PHP-Applikationen effizient verwenden zu können.
Der schwierigste Schritt ist wie bei so vielen anderen Technologien die Installation der Umgebung. Dank des Virtualisierungswerkzeuges Docker lässt sich die Installation im Handumdrehen in weniger als 5 Minuten erledigen. Um Redis zum Laufen zu bekommen, benötigen wir drei Schritte. Vorausgesetzt, auf dem System ist Docker [1] bereits vorhanden. Zuerst installieren wir den Redis Server [2], um uns anschließend mit Redis insight [3] einer grafischen Administrationsoberfläche auf dem Redis Server zu verbinden. Wenn diese beiden Schritte geglückt sind, muss noch abschließend die Redis Erweiterung in der PHP Installation aktiviert werden.
Beginnen wir daher mit der Installation des Redis Servers unter Docker. Listing 1 zeigt das vollständige Kommando für die Befehlszeile.