Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP/Mysql und Passwörter

Empfohlene Antworten

Veröffentlicht

Hi, ich möchte das jeder User sein Passwort eingeben muß bevor er weiter kommt, zum vergeleichen habe ich folgende Script :


...
if($log)
{
# Passwort abfrage
#
$db_passwd = mysql_connect($mysqlhost, $mysqluser, $mysqlpassword);
$sqlab_passwd = "select * from user where name='$user'";
$res_passwd = mysql_db_query("$mysqldb", $sqlab_passwd);
$ori_passwd = mysql_result($res_passwd, 0,"passwd");
mysql_close($db_passwd);
if($pass===$ori_passwd)
{
....
[/php]

So, hier wird verglichen ob das Password , welches vom User eingegeben wurde, mit dem aus der Mysql-Datenbank übereinstimmt.

Nur liegen die Passwörter in klar Text in der Datenbank.

Nun meine Frage ist es sinvoll die Passwört so in der Mysql-Datenbank zu speichern ? - Oder

sollte leiber ein Verschlüsselungsalgorytmus zum zuge kommen ?

Falls ja habt ihr auch eventuell schon eine Idee wie soetwas aussieht ?

Bis denn Tool-Time :)

bei der speicherung solltest du die passwörter mit md5() verschlüsseln und so auch in der db speicher. md5() ist eine one way verschlüsselung.

zum vergleich kannst du dann folgenden select verwenden:

select * from user where username='".$username."' AND pass='".md5($passwort)."'

  • Autor
Original geschrieben von MiH

bei der speicherung solltest du die passwörter mit md5() verschlüsseln und so auch in der db speicher. md5() ist eine one way verschlüsselung.

zum vergleich kannst du dann folgenden select verwenden:

select * from user where username='".$username."' AND pass='".md5($passwort)."'

Dadurch Verschlüssel ich doch die Verbindung zu Datenbank,oder ?

Nein, Du verschlüsselst das Passwort und speicherst es in die Datenbank.

Wenn der Nutzer zurück kommt und sein Passwort wieder eingibt, verschlüsselst Du dieses wieder mit der gleichen Funktion.

Jetzt vergleichst Du das verschlüsselte Passwort aus der Datenbank mit dem verschlüsseltem Passwort der Benutzereingabe. Bei Übereinstimmung läßt Du ihn durch.

Dadurch stehen keine Passwörter im Klartext in der Datenbank, man kann diese auch nicht entschlüsseln, da es eine Oneway Verschlüsslung ist.

Bingo.

$pass= md5($passwort_eingabe);

und dann ab damit in die Datenbank.

  • Autor
Original geschrieben von exe[tm]

Bingo.


$pass= md5($passwort_eingabe);
[/php]

und dann ab damit in die Datenbank. [/b]

Danke exe[tm] :)

ich werde es gleich einmal probieren

Noch nen schönen Feiertag Tool-Time :OD

md5 verschlüsselt? Leider völliger Blödsinn, sorry.

http://www.php.net/manual/en/function.md5.php

md5 is nur die Prüfsumme.

Macht aber trotzdem sinn, md5 zu benutzen, da diese Prüfsumme nur genau das gleich ist, wenn das Passwort auch gleich ist.

Vorteil hierbei im gegesatz zu gecrypt()en Sachen ist, dass am Ende immer das gleiche rauskommt, bei crypt() gibts immer andere Ergebnisse.

Stimmt crypt() war es. Ist immer des Problem, wenn man Sachen unüberpfrüft einfach übernimmt :)

In MySQL-Abfragen gibts doch auch noch PASSWORD()...

Damit hat man ebenfalls ein verschlüsseltes Passwort in der DB. Einfügen und überprüfen funzt übrigens genau wie bei den anderen Möglichkeiten (md5 und crypt)...

Nimm crypt(), das ist das was Du brauchst. Es verschlüsselt den übergebenen String mit DES.

md5() ist eine Funktion um einen Hashwert zu erzeugen. Dieser Wert ist simpel gesprochen wie eine Art "Quersumme" eines Strings.

Original geschrieben von E-T

Gibt des denn ache eine sichere Möglichkeit das Passwort aus dem HTML-Formular ins Script zu übertragen (ohne SSL)?

Ohne Applet, nein.

Man kann wohl auch in Javascript verschlüsseln, aber da der Quellcode ja im Klartext vorliegt, kann ein erfahrener Programmierer das zurückverfolgen.

Gruß Jaraz

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.