Back to top

Autore Topic: Come Joomla registra password  (Letto 21858 volte)

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Re:Come Joomla registra password
« Risposta #20 il: 02 Ago 2011, 16:47:28 »
Non ci ho capito niente ma sicuramente l'ip non è da considerare, prova a cancellare i cookie tra logout e login, dubito però che non sia nemmeno quello. Ma alla fine cosa vorresti fare, un bridge tra due siti di cui uno joomla e l'altro no?
Clastiweb

Offline flava137

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Come Joomla registra password
« Risposta #21 il: 02 Ago 2011, 18:02:20 »
Non ci ho capito niente ma sicuramente l'ip non è da considerare, prova a cancellare i cookie tra logout e login, dubito però che non sia nemmeno quello. Ma alla fine cosa vorresti fare, un bridge tra due siti di cui uno joomla e l'altro no?
quello che io vorrei fare è semplicemente permettere il login a utenti esterni, (quindi prendendoli da un db esterno) e seguendo quel plugin ci sono riuscito...solo che se provo a rientrare nel sito come un altro utente mi vede sempre come il primo utente che ho loggato...

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Re:Come Joomla registra password
« Risposta #22 il: 02 Ago 2011, 19:37:21 »
Prima di tutto controlla la tabella jos_users per vedere se il plugin l'ha popolata con i dati estratti dall'altro database o no. Secondo me non lo ha fatto perchè lavora diversamente. Comunque controlla se ha inserito dei dati in jos_users soprattutto che non si ripetano (username e email devono essere univoci).
Una prova da fare subito è eseguire il logout, cancellare tutti i dati di navigazione ed eseguire il login con un altro username, per vedere se fa ancora quel difetto, se non lo fa più il problema non sussiste o comunque è molto meno grave perchè è legato ai cookie e si potrebbe risolvere eliminando il cookie di sessione al logout.
Clastiweb

Offline flava137

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Come Joomla registra password
« Risposta #23 il: 02 Ago 2011, 19:47:25 »
Prima di tutto controlla la tabella jos_users per vedere se il plugin l'ha popolata con i dati estratti dall'altro database o no. Secondo me non lo ha fatto perchè lavora diversamente. Comunque controlla se ha inserito dei dati in jos_users soprattutto che non si ripetano (username e email devono essere univoci).
Una prova da fare subito è eseguire il logout, cancellare tutti i dati di navigazione ed eseguire il login con un altro username, per vedere se fa ancora quel difetto, se non lo fa più il problema non sussiste o comunque è molto meno grave perchè è legato ai cookie e si potrebbe risolvere eliminando il cookie di sessione al logout.
grazie mille!!!

Offline flava137

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Come Joomla registra password
« Risposta #24 il: 04 Ago 2011, 18:57:34 »
Sono riuscito a fare tutto...tranne un'ultima cosa, salvare la password del mio utente, cioè una volta che l'ho identificato e lo inserisco nel db joomla, come faccio a inserire anche la sua password? esiste un campo response->password?

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Re:Come Joomla registra password
« Risposta #25 il: 04 Ago 2011, 19:51:38 »
Joomla salva la password solo nel campo password della tabella jos_users, ma non la salva in chiaro, devi prima convertirla con il codice che avevo postato.
Comunque tu registra gli utenti una sola volta al primo login, non a tutti i login.
« Ultima modifica: 04 Ago 2011, 19:53:54 da giancarlo75 »
Clastiweb

Offline flava137

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Come Joomla registra password
« Risposta #26 il: 04 Ago 2011, 21:00:53 »
Joomla salva la password solo nel campo password della tabella jos_users, ma non la salva in chiaro, devi prima convertirla con il codice che avevo postato.
Comunque tu registra gli utenti una sola volta al primo login, non a tutti i login.
sisi li registro solo al primo login. ho guardato quel codice ma non riesco a capire dov'è che la va a salvare!!! vedo un echo alla fine che stampa ma dove la salva? in password? e password non andrebbe messo in qualche campo del db joomla?

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Re:Come Joomla registra password
« Risposta #27 il: 05 Ago 2011, 09:46:43 »
Citazione
<?php
    $pass
="password scelta dall'utente joomla";
    function
PasswordCasuale($lunghezza=32){
       
$caratteri_disponibili ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm nopqrstuvwxyz1234567890";
       
$password = "";
        for(
$i = 0; $i<$lunghezza; $i++){
           
$password = $password.substr($caratteri_disponibili,rand(0,strlen($caratteri_disponibili)-1),1);
        }
    return
$password;
    }
   
$salt=PasswordCasuale();
   
$password=md5($pass.$salt).":".$salt;
    echo
$password;
?>
Questo codice prende la password come la digita l'utente nella variabile $pass, e la trasforma nella corrispondente password come la vuole Joomla nella variabile $password. Poi siccome è un esempio qui la stringa viene stampata sulla pagina ma in realtà puoi farne quello che vuoi. Togli l'echo e fai un insert o un update nel database per inserirla. Anche la variabile $pass che qui viene scritta direttamente sulla pagina è quasi certo che arrivi da un modulo, quindi $pass = $_POST['password_utente'];
Clastiweb

Offline flava137

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Come Joomla registra password
« Risposta #28 il: 08 Ago 2011, 19:14:38 »
Questo codice prende la password come la digita l'utente nella variabile $pass, e la trasforma nella corrispondente password come la vuole Joomla nella variabile $password. Poi siccome è un esempio qui la stringa viene stampata sulla pagina ma in realtà puoi farne quello che vuoi. Togli l'echo e fai un insert o un update nel database per inserirla. Anche la variabile $pass che qui viene scritta direttamente sulla pagina è quasi certo che arrivi da un modulo, quindi $pass = $_POST['password_utente'];
Il fatto è che tutti gli altri dati dell'utente li metto in response->..., come ho visto fare nel plugin che mi hai consigliato di guardare...response non ha un campo anche per la password?

Offline giancarlo75

  • Esploratore
  • **
  • Post: 160
    • Mostra profilo
Re:Come Joomla registra password
« Risposta #29 il: 09 Ago 2011, 17:05:15 »
Il plugin non te l'ho consigliato io. Comunque se hai la possibilità di procedere attraverso codice, se devi fare una nuova insert fai:
Codice: [Seleziona]
// Stabilisce la connessione al database
require_once 'configuration.php'; // il percorso deve puntare al file configuration.php di joomla
$conf = new JConfig;
$conn = mysql_connect($conf->host, $conf->user, $conf->password);


$sql = "INSERT INTO jos_users (password) VALUES ('".$password."')";
$result = mysql_query($sql, $conn);

Se invece devi inserire la password ad utenti già presenti nella tabella devi sapere l'id dell'utente per il quale vuoi inserire la password:
Codice: [Seleziona]
// Codice di connessione uguale al precedente

$sql = "UPDATE jos_users SET password='".$password."' WHERE id='".$id_utente."' LIMIT 1";
$result = mysql_query($sql, $conn);
Clastiweb

 



Web Design Bolzano Kreatif