O'Reilly logo

PHP-Sicherheit: PHP/MySQL-Webanwendungen sicher programmieren by Stefan Esser, Christopher Kunz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

6 Authentisierung und Authentifizierung 170
Der Ablauf des Skripts ist einfach zu verstehen: In der Session wird die
Zeichenfolge abgelegt (die übrigens mit dem oben vorgestellten
PEAR::Text_Password generiert wurde), die gleichzeitig mit den Funktio-
nen der GD-Bibliothek in die Grafik geschrieben wurde. Der Benutzer
muss nun in einem Formularfeld die auf der Grafik gezeigte Zeichen-
folge eingeben. Nach Abschicken des Formulars werden die in der Ses-
sion und die in einer POST-Variable gespeicherten Strings verglichen.
Stimmen sie überein, gibt das Beispielskript die Erfolgsmitteilung
»Überprüfung OK!« aus, ansonsten meldet es ein »Eingabe inkorrekt,
bitte nochmals versuchen«.
Die Schriftdatei
arial.ttf muss natürlich auf dem Zielsystem exis-
tieren und sich im richtigen Verzeichnis befinden, ansonsten findet das
CAPTCHA-Skript keine benutzbare Schriftart.
Mit CAPTCHAs können Sie Ihre webbasierten Anwendungen
schnell gegen Kommentar- und sonstige Spammer absichern, müssen
dabei aber stets im Hinterkopf behalten, dass es nicht mehr lange dau-
ern könnte, bis das CAPTCHA-Prinzip auf breiter Front besiegt ist
und eine neue Methode zur Vermeidung unerwünschter Einträge
gefunden werden muss. Auch sehbehinderte Besucher Ihrer Site sollten
Sie mit in Ihre Überlegungen aufnehmen – sie können CAPTCHAs
unter Umständen nur sehr eingeschränkt oder gar nicht wahrnehmen.
6.5 Fazit
Zu einer sicheren Webanwendung gehört mehr als der Schutz vor SQL
Injection, XSS und anderen Sicherheitslücken. Auch die Behandlung
von Nutzerdaten und Passwörtern verdient besondere Beachtung. So
ist eine eigentlich sicher programmierte Anwendung unsicher, wenn
ein Angreifer die vergebenen Passwörter zu leicht ermitteln kann oder
wenn er in der Lage ist, legitime Nutzer aus der Anwendung auszu-
sperren. Sie sollten daher besonderes Augenmerk darauf legen, dass
Passwörter mit größtmöglicher Sicherheit vergeben und verarbeitet
werden.
Außerdem hilft ein grafisches CAPTCHA, Bruteforcing gegen Ihre
Webanwendungen zu vermeiden.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required