usare le password di Snitz Forum in VB
Salve, ho un forum Snitz in mysql vorrei trasferirlo in VB.
Ho appena comprato la nuova versione 3.6.4, installata e importato tutto con
Impex, ho avuto dei piccoli problemi iniziali dovuti essenzialmente al nome maiuscolo delle tabelle (mentre nel db erano tutte minuscole), e nonostante che nell'ultima versione di impex abbiano implementato la variabile
define('lowercase_table_names', true); questa NON funziona, infatti ho dovuto comunque convertire nello script 000.php tutti i richiami alle tabelle in minuscolo, va be' fatto questo, mi ritrovo con il problema delle password che nello snitz forum sono criptate SHA256 mentre VB usa MD5. Ho più di 3000 iscritti e non vorrei mandargli una email per fargli cambiare l'email di accesso.
Avevo allora pensato a una soluzione del genere:
1) mi importo per i 3000 iscritti nella tabella user tutte le vecchie password criptate SHA256 mentre i nuovi le avranno in MD5;
2) nella pagina del login e più precisamente nel file includes/functions_login.php (che ha tutti i controlli per l'accesso)
metto un controllo del genere dopo il Select al database:
if ($user['userid'] < 3000)
{
// se l' id dell'utente è inferiore a 3000 quindi è un vecchio iscritto
// ed ha la password criptata SHA256
$vecchiapassword = bin2hex(mhash(MHASH_SHA256,$vbulletin->userinfo['password']));
// "bin2hex(mhash(MHASH..... " è una classe php che converte la stringa
// di testo (in questo caso la password inserita dall'utente) in SHA256
// ... e a questo punto fare il raffronto nella tabella USER tra
// il campo password e suddetta variabile $vecchiapassword
}
Altrimenti (cioè se l'userid è superiore a 3000) procedi regolarmente
con la procedura criptata in MD5
Non essendo un programmatore provetto e non conoscendo a fondo
il sistema di login usato da VB non saprei come perfezionare la cosa.
Credo che l'idea sia fattibile, si tratterebbe solo di modificare in modo
corretto il file includes/functions_login.php
ma mi servirebbe qualcuno che lo conosca bene.