php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 04-11-2012, 20:57
phpnueling
 Registrierter Benutzer
Links : Onlinestatus : phpnueling ist offline
Registriert seit: Mar 2006
Beiträge: 29
phpnueling ist zur Zeit noch ein unbeschriebenes Blatt
Standard "Passwort vergessen" - sicher umsetzen

Hi,

für mein Projekt sitze ich soeben an der Benutzerverwaltung und am Punkt "Passwort vergessen".
Bei diesem Thema geht es nicht um die konkrete Implementierung mittels PHP, sondern um die Erarbeitung aller Szenarieren.
Ich hoffe ihr könnt meine Gedankengegänge erweitern, sodass eine sichere Anwendung dabei rumkommt.

Hier meine Ansätze
  1. Benutzer trägt seine Emailadresse ein
  2. System generiert ein zufällig Passwort und schickt diesem dem Benutzer zu
  3. User loggt sich mit temporären Passwort ein und muss ein neues Passwort hinterlegen
  4. User ist eingeloggt

Soviel zum Verfahren. Nun muss ich jedoch das Anwendung vor Hackern schützen. Dabei habe ich mir folgendes überlegt.
  • Damit nicht ein Bot, einfach alle Emailadresse eingibt und somit das System blockiert, wird jede IP protokolliert und für 5 Minuten geblockt. D.h. eine IP kann nur alle 5 Minuten sich ein neues PW zuschicken lassen. Problem: Größere Unternehmen, Unis, etc. teilen sich eine IP...
  • Anzahl der zurückgesetzten PWs zählen um eventuell "Verdächtige" herauszufinden...?!?!

Was fällt euch noch ein?

thx!
Mit Zitat antworten
  #2 (permalink)  
Alt 04-11-2012, 22:06
hostbar_danny
 Registrierter Benutzer
Links : Onlinestatus : hostbar_danny ist offline
Registriert seit: Feb 2011
Beiträge: 66
hostbar_danny befindet sich auf einem aufstrebenden Ast
Standard

Ich würde dem User eine eine E-Mail schicken, in der er auf einen Bestätigungslink klickt. Erst dann ein neues Passwort schicken bzw. ihn ein neuen eingeben lassen. Wenn er nicht klickt, verfällt die Anfrage irgendwann.

Wenn ich deinen Ansatz richtig verstehe, möchtest du das Passwort des Users sofort ändern. Somit kann man aber fremde Accounts erst einmal unbrauchbar machen.

Gruß Danny
Mit Zitat antworten
  #3 (permalink)  
Alt 05-11-2012, 21:38
phpnueling
 Registrierter Benutzer
Links : Onlinestatus : phpnueling ist offline
Registriert seit: Mar 2006
Beiträge: 29
phpnueling ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi danny,

danke für den Hinweis.
Bei php-resoruce.de erhält man direkt ein neues Passwort.

Wie würdest du nun einen Bot erkennen?
Nehmen wir an, er stößt für 100 Emails neue Passwörter an.
Würdest du nun die IP für eine bestimmte Zeit blocken, oder die SESSION-ID?
Mit Zitat antworten
  #4 (permalink)  
Alt 13-11-2012, 16:04
TheAvenger
 Registrierter Benutzer
Links : Onlinestatus : TheAvenger ist offline
Registriert seit: Nov 2012
Beiträge: 3
TheAvenger befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von phpnueling Beitrag anzeigen
Wie würdest du nun einen Bot erkennen?
Nehmen wir an, er stößt für 100 Emails neue Passwörter an.
Würdest du nun die IP für eine bestimmte Zeit blocken, oder die SESSION-ID?
Ich glaube da gibt es schon die ein oder andere Restriktion, sei es durch die Funktion selbst oder am Webserver. Ich würde es ebenfalls über einen Bestätigungslink machen und diesen nach 24 Stunden gültig halten. Parallel dazu noch eine maximal Anzahl an Anforderungen für das neue Passwort, sagen wir 3?

Ich glaube, dann hast du so ziemlich gut ausgesorgt.

Übrigens: Sollte der Benutzer gerade Probleme mit dem E-Mail Empfang haben oder ähnliches, würde ich vielleicht auch die Option anbieten, den Support kontaktieren zu können, falls es sehr dringend ist. Ist aber natürlich Abhängig von der Plattform, wo du diese Funktion implementieren willst.
Mit Zitat antworten
  #5 (permalink)  
Alt 13-11-2012, 16:21
hostbar_danny
 Registrierter Benutzer
Links : Onlinestatus : hostbar_danny ist offline
Registriert seit: Feb 2011
Beiträge: 66
hostbar_danny befindet sich auf einem aufstrebenden Ast
Standard

Das ist bei php-resource auch nicht gut gelöst

Ich stimme TheAvenger zu und denke auch, dass man die Anzahl an parallelen/täglichen Passwort vergessen Anfragen limitiert. Mit der Option den Support zu kontaktieren ist es immer so eine Sache. Wie authentifiziert sich denn der Herr am Telefon, dass es auch wirklich der ist, als der er sich ausgibt?

Hierzu auch ganz lesenswert How Apple and Amazon Security Flaws Led to My Epic Hacking | Gadget Lab | Wired.com bzw. in Kurzform http://money.cnn.com/2012/08/07/tech...cked/index.htm

Gruß Danny
Mit Zitat antworten
  #6 (permalink)  
Alt 13-11-2012, 16:31
Benutzerbild von Berni Berni
  OWNER
Links : Onlinestatus : Berni ist offline
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.306
Blog-Einträge: 6
Berni befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von hostbar_danny Beitrag anzeigen
Das ist bei php-resource auch nicht gut gelöst




Wir sehen uns
__________________

php-Entwicklung | ebiz-consult.de
PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
die PHP Marktplatz-Software | ebiz-trader.de
Mit Zitat antworten
  #7 (permalink)  
Alt 13-11-2012, 17:05
chorn
 Registrierter Benutzer
Links : Onlinestatus : chorn ist offline
Registriert seit: Nov 2011
Beiträge: 126
chorn befindet sich auf einem aufstrebenden Ast
Standard

Du musst das alte Passwort ja nicht überschreiben, du kannst auch einen zusätzlichen Token generieren ( sowas wie md5(rand()) ). Entweder der Benutzer loggt sich über den Token ein und kann ein neues Passwort vergeben, oder dem Benutzer fällt sein Passwort wieder ein, er loggt sich damit ein und der Token wird gelöscht.
Mit Zitat antworten
  #8 (permalink)  
Alt 14-11-2012, 08:43
TheAvenger
 Registrierter Benutzer
Links : Onlinestatus : TheAvenger ist offline
Registriert seit: Nov 2012
Beiträge: 3
TheAvenger befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von hostbar_danny Beitrag anzeigen
Mit der Option den Support zu kontaktieren ist es immer so eine Sache. Wie authentifiziert sich denn der Herr am Telefon, dass es auch wirklich der ist, als der er sich ausgibt?
Das dürfte abhängig von der Webseite sein. Ich würde hier jetzt erstmal alle Foren, Blogs etc. ausschließen, weil man dort mal locker etwas warten kann auf das neue Passwort.

Wenn es aber z.B. ein Kundenkonto ist gäbe es eine eine Vielzahl an Möglichkeiten. Etwa durch Beantwortung einer geheimen Frage, dem Zusenden eines Tokens auf das Handy, der Authentifizierung der Person anhand des Persos, durch eine Service-PIN oder durch Beantwortung einiger zufälliger Fragen, etwa vollständiger Name, Adresse, Geburtsdatum etc. Müsste man dann immer abwägen, in wie weit diese Informationen einsehbar sind. Denn wenn es ein Kundenkonto ist welches auch andere Teilnehmer mit darin befindlichen Informationen sehen, wäre die Frage nach diesen Daten so ziemlich sinnfrei

Wenn gar nichts geht, dann halt per Brief an die hinterlegte Adresse. Deshalb habe ich Foren bspw. auch gleich ausgeschlossen, weil dort in der Regel nur nach leichten Datensätzen gefragt wird.

Da könnte man ja locker eine Studie drüber machen. Einfach mal überall wo man so angemeldet ist das PW über den Support zurücksetzen lassen.

Geändert von TheAvenger (14-11-2012 um 08:46 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mySQL-Function "PASSWORD" erstellt/liefert nur 16 Byte-Passwort Matu PHP Developer Forum 5 12-09-2012 10:55
$_SESSION-Daten werden "vergessen" eagle275 PHP Developer Forum 15 12-07-2010 16:32
Sicher? AND passwort=MD5('"._POST['passwort']."') Truncate SQL / Datenbanken 4 21-02-2008 23:02
Useranmeldung im login-skript mit "passwort-check" Dominikoo PHP Developer Forum 10 05-04-2004 17:23
Benutzerdaten "sicher" übergeben motroxx PHP Developer Forum 3 08-02-2004 22:43

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:29 Uhr.