Password

9 contenuti / 0 new
Ultimo contenuto
Password

salve,

tornando dopo un po' di tempo su un sito (in locale) che stavo ricostruendo, inserendo nome utente e password non riesco + ad accedervi.

Qualcuno sa sia possibile recuperare i dati di accesso?

Il recupero password non funzione e non so perchè

Per il sito in locale ho usato acquia

grazie

Drupal Version:

Ciao, puoi modificare temporaneamente il file index.php per impostare una tua password con lo script che ti ho appena creato. Ovviamente una volta usato cancella tutto.

Devi modificare l'attuale file index.php che si presenta così:

<?php
define
('DRUPAL_ROOT', getcwd());
require_once
DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
menu_execute_active_handler();
?>

In questo facendo attenzione a modificare i parametri che ti ho messo come variabile:

<?php
define
('DRUPAL_ROOT', getcwd());
require_once
DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
require_once
'includes/password.inc';
$new_psw user_hash_password('mypassword');
$mail_admin = "admin_mail[AT]rednode.it";
$qb = db_select('users', 'u')
->
fields('u')
->
condition('mail', $mail_admin, '=')
->
execute()
->
fetchObject();
if(isset(
$qb->uid)){
 
db_update('users')
     ->
fields(array(
       
'pass' => $new_psw,
      )
    )
    ->
condition('uid', $qb->uid, '=')
    ->
execute();
}
menu_execute_active_handler();
?>

Come puoi vedere devi modificare solamente 2 variabili:
$new_psw = user_hash_password('mypassword'); CAMBIA IL VALORE mypassword
$mail_admin = 'admin_mail[AT]rednode.it'; CAMBIA [email protected] con quella dell'amministratore

Una volta fatto il tutto collegati alla home e poi ripristina il file index.php originale. Da quel momento in poi puoi effetuare il login con la nuova password.

Per inciso bisogna sostituire il simbolo [AT] con la chiocciola, io non ho potuto inserire la @ perchè altrimenti il forum mi trasformava la mail in un link

PS: ci sono diversi modi di fare la stessa cosa..... DRUSH, direttamente su DB, da phpmyadmin...... questà è automatizzata e semplice da fare anche con un semplice accesso FTP.

ti ringrazio del consiglio, con phpmyadmin, mi sa che è la + comoda, devo agire sulla tabella user?

se ricordo bene ci avevo pensato, ma in user non trovai nulla

Gaetano

Si devi agire sulla tabella USERS ma ricordati che la password è HASH quindi devi prima ottenere il codice mediante la funzione
$new_psw = user_hash_password('mypassword');

uhm, all'interno di phpMyAdmin devo fare una query? con il rigo che mi hai indicato?

Gaetano

Ti ringrazio, ho provato il codice da inserire in index.php e funziona.
Solo per completezza d'informazione, potresti spiegarmi meglio come funziona il codice da usare in phpMyAdmin?
Io ho provato così ho selezionato il database, poi poi ho scelto qry ed inserito questo codice:
SELECT * FROM `users` WHERE 1
$new_psw = user_hash_password('mypassword');
print $new_psw;

ma senza successo.

Gaetano

la funzione user_hash_password è una funzione di drupal quindi non esiste al di fuori del mondo drupal.
prima devi inserire la riga user_hash_password('mypassword'); nel file index.php per recuperare il valore hashato della password, te lo copi e poi lo inserisci nella query di phpmyadmin.
Nel file index.php

<?php
require_once 'includes/password.inc';
$new_psw = user_hash_password('mypassword');
print
$new_psw;
?>

Poi copi il risultato ovvero il valore del print di $new_psw; e poi la inserisci nella query mysql

UPDATE users
SET pass= 'IL VALORE DI $new_psw'
WHERE uid=1;

ti ringrazio, mi rendo conto che la mia conoscenza di drupal è ancora debole

Gaetano