php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.06.2004, 16:09  
Gast
 
Beiträge: n/a
Standard [Erledigt] Passwörter in Datenbank ablegen

Also ich habe folgendes Problem:
Ich habe eine Seite die die Zugriffsrechte mit .htacces verwaltet.

Jetzt möchte ich die Benutzernamen und Passwörter aber in eine MySQL DB bekommen.
Meine Idee war die verschlüsselten Passwörter einfach in die DB zu kopieren und wenn sich dann jemand anmelden möchte verschlüsslet ein Script das eingegebenes Passwort und vergleich es mit dem welches in der DB steht.
Die Frage ist jetzt nur mit welchem Algorithmus werden htacces Passwörter verschlüsselt?
Meine mal gelesen zu haben, dass das crypt ist.
Aber wenn ich in PHP $passwort = crypt($eingegebenes_passwort); mache und das dann mit dem Passwort aus der DB vergleiche (if ($db_pass = $pass) $access = true, dann bekomme ich keinen Zugriff.
Daraufhin habe ich mir die beiden Werte mal ausgeben lassen.
Das Passwort aus der DB war korrekt aber das von mir eingegebene wurde irgendwie auf eine andere Art und Weise verschlüßelt, sodass meine Idee nicht funktionierte ...

Hoffe es kann mir jemand helfen.

Gruß
Covington
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.06.2004, 16:25  
Erfahrener Benutzer
 
Registriert seit: 10.07.2003
Beiträge: 280
freq.9
freq.9 eine Nachricht über ICQ schicken freq.9 eine Nachricht über MSN schicken
Standard

Was hat das mit der DB mit dem Allgo von der Passwort-Verschlüsselung bei .htaccess zutun? Wenn du Passwörter verschlüsseln willst gehts am besten mit md5(), weils nen Einweg-Hash ist, der ned so schnell :P entschlüsselt werden kann ^^.
freq.9 ist offline  
Alt 11.06.2004, 03:02  
Gast
 
Beiträge: n/a
Standard

Der Zusammenhang ist folgender:
ich habe schon eine ganze datei voll verschlüsselter passwörter (nämlich die .htaccess datei). und die passwörter sollen jetzt in eine datenbank.
das hat auch alles bestens funktioerniert.
mein problem war jetzt das das passwort welches der benutzer eingibt bei der anmeldung genauso verschlüsselt wird wie die passwörter bei .htaccess (da ich das passwort nur dann mit den in der db vergleichen kann).

konnte das problem aber inzwischen lösen, ging mit nem parameter den man crypt(), mitgeben kann.

trotzdem danke

Covington
 
Alt 12.06.2004, 03:30  
Gast
 
Beiträge: n/a
Standard

ich finde, wenn du schon hier nach einer Lösung fragst, und auf Hilfe hoffst, dass du ruhig mal deine gefundene Lösung posten kannst, also deinen Parameter, den du hinzugefügt hast, damit auch User, die dasselbe Problem haben, nicht nen Extrathread eröffnen müssen :wink:
 
Alt 12.06.2004, 10:14  
Erfahrener Benutzer
 
Benutzerbild von JanM
 
Registriert seit: 22.12.2003
Beiträge: 788
PHP-Kenntnisse:
Fortgeschritten
JanM ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von phpdope
ich finde, wenn du schon hier nach einer Lösung fragst, und auf Hilfe hoffst, dass du ruhig mal deine gefundene Lösung posten kannst, also deinen Parameter, den du hinzugefügt hast, damit auch User, die dasselbe Problem haben, nicht nen Extrathread eröffnen müssen :wink:
Ich finde es schlimm genug das man sowas sagen muss!
__________________

Statistik
JanM ist offline  
Alt 12.06.2004, 11:25  
Gast
 
Beiträge: n/a
Standard

Hallo,
tut mir leid, dass ich das nicht ausführlich gesagt habe.
Hier nun meine Lösung:
Code:
$nick = $_SERVER['PHP_AUTH_USER'];
$pass = $_SERVER['PHP_AUTH_PW'];
$db_pass = @mysql_result(@mysql_query("select pass from tabellenname where nick = '$nick'"),0,0);
$ht_pass = crypt($pass,substr($db_pass,0,2));
if(($ht_pass != $db_pass) || ($db_pass == ""))
{
  header("WWW-authenticate: basic realm=\"Intern\"");
  header("HTTP/1.0 401 Unauthorized");
  $page_content.= "
<h2>Zugang verweigert!</h2>



Du hast Daten eingeben die nicht in unserer Datenbank stehen.</p>";
}
else
{
   $page_content.= "Sie sind nun eingeloggt";
}
Das endscheidende ist diese Zeile:
$ht_pass = crypt($pass,substr($db_pass,0,2));
Crypt nutzt verschiedene Algorithmen um Wörter zu verschlüsseln. Und über einen so genannten Salt kann ich ihm sagen was er genau tun soll.
Wenn man nun ein Passwort mit dem aus der .htaccess datei vergleichen will, muss man crypt als zweiten parameter die ersten beiden Buchstaben des schon verschlüsselten Passwortes mitgeben.
Genauer steht das ganze hier: http://de2.php.net/manual/de/function.crypt.php

Hoffe ihr versteht was ich meine

Gruß
Covington[/url]
 
 

« Login | file_exists »

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Objekt in Datenbank ablegen Timo Trallala PHP Tipps 2008 5 06.03.2008 05:29
Sql Datenbank durchsuchen und vergleichen Teambyte PHP Tipps 2006 5 14.09.2006 11:11
Userdaten temporär in Datenbank ablegen und löschen... ssm PHP Tipps 2006 16 27.07.2006 09:14
Klappmenü aus Datenbank PHP Tipps 2007 1 12.12.2005 15:02
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
Datenbank verschieben PHP Tipps 2005-2 4 03.08.2005 15:45
[Erledigt] MySQL findet Datenbank nicht Datenbanken 10 21.10.2004 09:14
[Erledigt] Formulardaten sammeln, und in Datenbank verteilen. PHP Tipps 2004 1 14.08.2004 20:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
objekte in db ablegen, passwort in mysql-datenbank ablegen, php md5 hash in datenbank ablegen, md5 verschlüsseltes kennwort in mysql datenbank ablegen

Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.