Layoutprobleme? - Styleswitcher!
![]() |
| | Themen-Optionen |
| | Nach oben #1 | ||
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 1.539
| Zufallspasswort-Generator mit PHP: In diesem Tutorial geht es um die Erstellung von Zufallpasswörtern. Inhalt:
Grundlagen Immer wieder braucht man schnell ein Passwort, das ausreichend sicher ist. Sicherheit bedeutet, dass man es nicht erraten kann. Der Name eurer Freundin ist ebenso schlecht als Passwort geeignet wie der eures Haustieres. Sicherheit kann man gewinnen, indem man das Passwort nicht mehrfach verwendet und möglichst viele Kombinationen zulässt. Mit zunehmender Länge steigt aber auch die Gefahr, dass man sich vertippt. Damit die Passwörter nicht immer ein asdf oder test beinhalten, wenn ihr sie selbst tippt könnt ihr ab sofort mit diesem Passwort-Generator sicherere Passwörter erstellen. Die Funktion kann aber ebenso gut auch in die eigene Anwendung integriert werden, was gelegentlich notwendig ist. Mehr zu sicheren Passwörtern hier. sichere Passwörter per Generator erstellen Die Anwendung der Funktion soll letztlich so sein, dass die Passwortlänge vorgegeben werden kann (aber nicht muss) und Sonderzeichen sowie Großbuchstaben optional deaktivierbar sind. Die Funktion soll daher wie folgt aufgerufen werden können: PHP-Code: PHP-Code: PHP-Code: So der prinzipielle Aufbau: PHP-Code: PHP-Code: Letzlich soll aus einem array() zufällig der eine oder andere Wert rausgepickt werden. Damit das geschehen kann, muss das array vorher 'gefüllt' werden. Kleine Buchstaben und Zahlen sind immer mit drin, darum werden sie in das array geschrieben: PHP-Code: Welche zur Verfügung stehen lässt sich leicht ermitteln, indem man eine for-Schleife nimmt und einige Werte ausgibt. Weiter geht es mit den Großbuchstaben. Wenn diese gewünscht werden, so werden sie ins array geschrieben. Es muss also eine Überprüfung stattfinden, ob der entsprechende Wert der Funktion übergeben wurde. PHP-Code: PHP-Code: Die Funktion mt_srand sorgt dafür, dass ein interner Startwert für den Zufallsgenerator mt_rand festgelegt wird. Das Handbuch schreibt dazu: Zitat:
PHP-Code: PHP-Code: Die Funktion mt_rand wird dafür benutzt. Die Funktion liefert eine Zahl im Bereich 'von bis'. Als Startwert wird das erste Zeichen des arrays genommen - als letztes mögliche Zeichen soll das letzte Zeichen genommen werden. Die Anzahl der Zeichen kann mittels count ermittelt werden. Da das Zählen des array aber mit 0 beginnt, muss genau ein Wert abgezogen werden. PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: PHP-Code: mnemonische Passwörter per Generator erstellen Gelegentlich braucht man auch Zufallspasswörter, die leicht merkbar sind. Dabei helfen mnemonische Passwörter. Anmerkung: das schränkt die Möglichkeiten der erstellten Passwörter - und damit letztlich auch die Sicherheit ein! Der etwas dürftige Wikipedida-Artikel definiert wie folgt: Zitat:
Der Aufbau der Passwörter wurde von mir in der Form gewählt, dass immer ein Pärchen aus 2 Buchstaben und letzlich eine wählbare Anzahl von Zahlen gebildet wird. Da Bezeichnungen und Namen, wenn sie leicht zu merken sind auch 'mnemonische Begriffe' genannt werden, habe ich die Funktion entsprechend genannt. Aufgerufen werden soll die Funktion dann mit zwei Parametern: 1) der Anzahl der Buchstaben-Pärchen 2) der Anzahl der angehängten Zahlen PHP-Code: Im weiteren Sinn - damit meine ich, dass das y zu den Vokalen, was sprachlich nicht ganz korrekt, hier aber dienlich ist. Bei den Konsonanten habe ich auf das Q und das q verzichtet. Im Gegensatz zur oben vorgestellten Methode sammel ich nun alle Zeichen in jeweils einem string. PHP-Code: In der obigen Funktion wurde count verwendet, um zu ermitteln, wieviele Zeichen genutzt werden können. Bei einem string gilt es dafür die Funktion strlen zu benutzen. PHP-Code:
Im Gesamten sieht das dann so aus: PHP-Code: PHP-Code: Jetzt solltet Ihr eigentlich in der Lage sein, einen Passwortgenerator ohne Vorlage nachzuprogrammieren. Die verwendeten Funktionen findet Ihr alle im PHP-Manual. Solltet Ihr Fragen zu dem Tutorial haben, so schreibt bitte einen Beitrag im PHP-Forum mit einem Verweis auf dieses Tutorial. Danke. Ich hoffe, dass ich Euch hier etwas weiterhelfen konnte. Grüße Jann Hendrik Geändert von Jann Hendrik (25.11.2007 um 18:48 Uhr). | ||
| | |
| | Nach oben #2 | |
| Bastian Fenske Registriert seit: 04.01.2006 Ort: Kassel
Beiträge: 745
| Der Vollständigkeit halber und da ich dort keine Schreibrechte hab hier ein paar Kommentare zu dem Tutorial (vielleicht mag ein Moderator das mal dorthin verschieben). Anmerkung der Projektleitung das habe ich (Jann Hendrik) damit mal getan * Ich finde den Umgang mit dem $length-Parameter absolut ungünstig. Warum setzt du den Standard-Wert nicht auf null und erzeugst in dem Fall, dass dieser nicht übergeben wurde eine zufällige Länge? Oder du nimmst zwei Parameter entgegen, die minimale und die maximale Länge. Aber so steigt da doch niemand durch. Wenn ich 6 übergebe bekomme ich keine Fehlermeldung sondern plötzlich ein 18 Zeichen langes Passwort! Viel Spaß beim debuggen. Dazu liegt der Default-Wert noch in einem "ungültigen" Bereich. * Die PHP-Funktion range() ist eine feine Sache, ebenso array_rand(). Damit lässt sich die ganze Funktion auf wenige Zeilen zusammenfassen. * Seit PHP 4.2.0 braucht es keinen expliziten Aufruf vom (mt_)srand() mehr. Steht auch im Handbuch. Zitat:
* Ein weiterer Punkt, der vielleicht interessant anzusprechen ist ist, dass bestimmte Zeichen je nach Ausgabemedium (Font und Schritgrad etc.) nicht leicht zu unterscheiden sind: o0O 1Il| `' Basti Geändert von Jann Hendrik (23.11.2007 um 13:51 Uhr). | |
| | |
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Frage zum Tut: [PHP] Fremde Webseiten auslesen | the_cRu | PHP-Programmierung | 27 | 10.02.2007 20:59 |
| [PHP] FTP-Funktionen in PHP nutzen | MrNiceGuy | Tutorials | 0 | 24.05.2006 14:18 |
| [PHP] Formulare verstehen und auswerten | WarrenFaith | Tutorials | 5 | 21.03.2006 18:11 |
| [PHP] Datenbank-Backup mit mysqldumper | Jann Hendrik | Tutorials | 0 | 16.03.2006 09:58 |
| [PHP] Ein einfaches Template-System | MrNiceGuy | Tutorials | 0 | 09.10.2005 18:30 |
Alle Zeitangaben in WEZ +2. Es ist jetzt 10:07 Uhr.
Nach oben






