Hi modifiers und paranoiker
ich habe in meinem shop eine sicherere Kennwortverschlüsselung, basierend auf
phpass, eingebaut.
Diese wird auch unter Wordpress und typo3 benutzt. Sie erschwert das Knacken von Passwörtern.
Weitere Infos unter:
http://www.heise.de/security/artikel/Passwoerter-unknackbar-speichern-1253931.html oder in der c't 13/11
Phpass kann hier heruntergeladen werden:
http://www.openwall.com/phpass/phpass-0.3.tar.gzDie Dateien sind aus der modified eCommerce Shopsoftware Version 1.05. Die verwendete phpass-Version ist 0.3
Installation:
Die drei im zip enthaltenen Dateien:
xtc_validate_password.inc.php *
xtc_encrypt_password.inc.php *
PasswordHash.php
* ggf. vorher sichern
im shop-root entpacken. Fertig.
Die Datei README enthält nochmals eine kurze Inst-Anleitung.
Oder, wer's lieber Manuell mag:
1. Datei
PasswordHash.php in das Unterverzeichnis
inc kopieren
2. Datei
xtc_encrypt_password.inc.php editieren.
suchen:
function xtc_encrypt_password($plain) {
ändern in:
require_once DIR_FS_INC.'PasswordHash.php';
function xtc_encrypt_password($plain) {
suchen:
$password=md5($plain); return $password; ändern in:
$t_hasher = new PasswordHash(8, FALSE);
$password = $t_hasher->HashPassword($plain);
//$password=md5($plain);
return $password;
3. Datei
xtc_validate_password.php editieren
suchen:
function xtc_validate_password($plain, $encrypted) {
andern in:
require_once DIR_FS_INC.'PasswordHash.php';
function xtc_validate_password($plain, $encrypted) {
suchen:
if ($encrypted!= md5($plain)){ return false; } else { ändern in:
if ($encrypted != md5($plain)) { $t_hasher = new PasswordHash
(8, FALSE); $check = $t_hasher->CheckPassword($plain, $encrypted); return $check; } else { Hinweis für Shopversion 1.06:Hi Users,
wenn Ihr Eure Datenbank auf die Version 1.06 aktualisiert, wird leider durch das Update-Script die Länge des Passwort-Feldes auf 50 Zeichen gekürzt.
Das kann für die, die blowfish auf dem Server nutzen dazu führen, dass die restlichen zehn Zeichen des passworts beim Update einfach ohne Warnung oder Meldung abgeschnitten werden. (Ich liebe MySQL)
Deshalb bitte unbedingt in Zeile 61 der Datei update_1.0.5.0_to_1.0.6.0.sql den Wert für die
Spalte customers_password auf mindestens 60 erhöhen.
#DokuMan - 2011-02-02 - added support FOR passwort+salt (SHA1)
ALTER TABLE customers MODIFY customers_password VARCHAR(60) NOT NULL;
[...]
Ich hoffe, ich habe nichts übersehen.
Anregungen, Änderungen, Kritik ... ihr wisst schon.
Gruß
billybob
[
EDIT Tomcraft 21.06.2011: Modul
aktualisiert, Danke an billybob.]
[
EDIT Tomcraft 21.08.2014: Hinweis für Shopversion 1.06 ergänzt.]
Linkback: https://www.modified-shop.org/forum/index.php?topic=13464.0