[GDRCD 5.6.0.5] Problema Password
[GDRCD 5.6.0.5] Problema Password postato il 27/01/2023 14:38:16 nel forum programmazione, open source e hosting
Buon pomeriggio,
anche oggi sono qui per una domanda esistenziale di cui sul forum non ho trovato risposta sul forum.
Se un utente prova a cambiare la password dal suo menu non gliela cambia. Si può fare solo dal pannello gestione.
Cosa non vedo di sbagliato?
Grazie mille!
Pagine → 1
27/01/2023 16:34:22
La possibilità da parte dell'utente di cambiare la propria password è stata disabilitata nella versione 5.6.0.4 di GDRCD, con la seguente motivazione:
kasa ha scritto:
Abbiamo ritoccato il Cambio Email da parte dell'utente, inibendo di fatto questa possibilità direttamente dall'utente per evitare di mettere in chiaro il metodo di criptazione dell'account email associato al Personaggio o, più semplicemente, un dato già criptato ed incomprensibile da leggere.
Questa funzione è a disposizione solo della Gestione allo stato attuale, ovviamente modificabile tramite i permessi a disposizione, il quale non può comunque conoscere propriamente la email ma può solo modificarla, inserendone una nuova.
Si tratta di un passaggio necessario per evitare di esporre possibili falle di sicurezza nella gestione dei dati personali dell'utente, fatto che ci ha spinto ad adottare una linea più dura in merito fino a quando non sarà possibile integrare soluzioni differenti e un poco più sicure.
Questo estratto proviene direttamente dal regolare aggiornamento che facciamo in aggiunta ai changelog delle varie release e che puoi trovare nel thread "fissato in altro" qui in Forum di Programmazione, GDRCD e Open Source, nello specifico https://www.gdr-online.com/readforum.asp?id=250579 ↗.
Detto questo, nessuno ti vieta di reintrodurre la funzionalità, ma è giusto che tu sia a conoscenza dei possibili rischi in materia di sicurezza e dati sensibili esposti. È proprio perchè vorremmo evitare di farvi incorrere in queste problematiche che abbiamo deciso di rimuovere il tutto.
Kasa.
27/01/2023 21:37:02
kasa ha scritto: La possibilità da parte dell'utente di cambiare la propria password è stata disabilitata nella versione 5.6.0.4 di GDRCD, con la seguente motivazione:
[quote]kasa ha scritto:
Abbiamo ritoccato il Cambio Email da parte dell'utente, inibendo di fatto questa possibilità direttamente dall'utente per evitare di mettere in chiaro il metodo di criptazione dell'account email associato al Personaggio o, più semplicemente, un dato già criptato ed incomprensibile da leggere.
Questa funzione è a disposizione solo della Gestione allo stato attuale, ovviamente modificabile tramite i permessi a disposizione, il quale non può comunque conoscere propriamente la email ma può solo modificarla, inserendone una nuova.
Si tratta di un passaggio necessario per evitare di esporre possibili falle di sicurezza nella gestione dei dati personali dell'utente, fatto che ci ha spinto ad adottare una linea più dura in merito fino a quando non sarà possibile integrare soluzioni differenti e un poco più sicure.
Questo estratto proviene direttamente dal regolare aggiornamento che facciamo in aggiunta ai changelog delle varie release e che puoi trovare nel thread "fissato in altro" qui in Forum di Programmazione, GDRCD e Open Source, nello specifico https://www.gdr-online.com/readforum.asp?id=250579 ↗.
Detto questo, nessuno ti vieta di reintrodurre la funzionalità, ma è giusto che tu sia a conoscenza dei possibili rischi in materia di sicurezza e dati sensibili esposti. È proprio perchè vorremmo evitare di farvi incorrere in queste problematiche che abbiamo deciso di rimuovere il tutto.
Kasa.[/quote]
Ok, tutto chiaro. Perciò è per un fattore di sicurezza che non è concesso all'utente di modificare la psw ma può solo mantenere quella data in fase di iscrizione, giusto?
27/01/2023 22:27:45 e modificato da kasa il 27/01/2023 23:22:37
Ok, sto avendo un momento di confusione e credo di aver travisato l'oggetto del quesito.
Stai segnalando che l'utente non riesce a cambiare la password o la propria email di registrazione?
Perchè il Cambio Password l'utente lo può fare da Menu Utente > Cambio Password (ne ho verificato poco fa il funzionamento, senza problemi), mentre effettivamente la email non può essere cambiata dall'utente ma solo da pannello gestione (ipotizzando una richiesta da parte dell'utente alla gestione per il cambio) per i motivi sopra esposti.
Mea culpa per la svista.
Kasa.
28/01/2023 15:00:56
kasa ha scritto: Ok, sto avendo un momento di confusione e credo di aver travisato l'oggetto del quesito.
Stai segnalando che l'utente non riesce a cambiare la password o la propria email di registrazione?
Perchè il Cambio Password l'utente lo può fare da Menu Utente > Cambio Password (ne ho verificato poco fa il funzionamento, senza problemi), mentre effettivamente la email non può essere cambiata dall'utente ma solo da pannello gestione (ipotizzando una richiesta da parte dell'utente alla gestione per il cambio) per i motivi sopra esposti.
Mea culpa per la svista.
Kasa.
No worry. Il cambio password in realtà mi da problemi e non riesco a comprendere perchè! XD
28/01/2023 15:24:33
Riusciresti a riportare qui il contenuto di pages/user_cambio_pass.inc.php ?
Kasa.
30/01/2023 23:15:04
kasa ha scritto: Riusciresti a riportare qui il contenuto di pages/user_cambio_pass.inc.php ?
Kasa.
Ma certo!
30/01/2023 23:16:15
<?php /*HELP: */
$row = gdrcd_query("SELECT email FROM personaggio WHERE nome = '".$_SESSION['login']."'");
$email = $row['email'];
?>
<div class="pagina_user_cambio_pass">
<!-- Titolo della pagina -->
<div class="page_title">
<h2><?php echo gdrcd_filter('out', $MESSAGE['interface']['user']['pass']['page_name']); ?></h2>
</div>
<!-- Box principale -->
<div class="page_body">
<?php /*Cambio pass utenti*/
if($_POST['op'] == 'new') {
if((gdrcd_password_check(gdrcd_filter_email($_POST['email']),$email)) && (gdrcd_check_pass($_POST['new_pass']) === true)) {
gdrcd_query("UPDATE personaggio SET pass = '".gdrcd_encript($_POST['new_pass'])."', ultimo_cambiopass = NOW() WHERE nome = '".$_SESSION['login']."'");
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento, descrizione_evento) VALUES ('".$_SESSION['login']."','".$_SESSION['login']."', NOW(), ".CHANGEDPASS." ,'".$_SERVER['REMOTE_ADDR']."')");
?>
<div class="warning">
<?php echo gdrcd_filter('out', $MESSAGE['warning']['modified']); ?>
</div>
<?php } else { ?>
<div class="error">
<?php echo gdrcd_filter('out', $MESSAGE['warning']['cant_do']); ?>
</div>
<?php }//else ?>
<div class="link_back">
<a href="main.php?page=user_cambio_pass">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['user']['link']['back']); ?>
</a>
</div>
<?php }
/*Cambio pass admin*/
if(gdrcd_filter('get', $_POST['op']) == 'force') {
if(($_SESSION['permessi'] >= MODERATOR) && (gdrcd_check_pass($_POST['new_pass']) === true)) {
if($_SESSION['permessi'] == SUPERUSER) {
$query = "UPDATE personaggio SET pass = '".gdrcd_encript($_POST['new_pass'])."', ultimo_cambiopass = NOW() WHERE nome = '".gdrcd_filter_in($_POST['account'])."'";
} else {
$query = "UPDATE personaggio SET pass = '".gdrcd_encript($_POST['new_pass'])."', ultimo_cambiopass = NOW() WHERE nome = '".gdrcd_filter_in($_POST['account'])."' AND permessi < ".SUPERUSER."";
}
gdrcd_query($query);
/*Registro l'evento */
gdrcd_query("INSERT INTO log (nome_interessato, autore, data_evento, codice_evento, descrizione_evento) VALUES ('".gdrcd_filter_in($_POST['account'])."','".$_SESSION['login']."', NOW(), ".CHANGEDPASS." ,'".$_SERVER['REMOTE_ADDR']."')");
?>
<div class="warning">
<?php echo gdrcd_filter('out', $MESSAGE['warning']['modified']); ?>
</div>
<?php } else { ?>
<div class="error">
<?php echo gdrcd_filter('out', $MESSAGE['warning']['cant_do']); ?>
</div>
<?php }//else ?>
<div class="link_back">
<a href="main.php?page=user_cambio_pass">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['user']['link']['back']); ?>
</a>
</div>
<?php
}
/*Visualizzazione di base*/
if(isset($_POST['op']) === false) { ?>
<div class="panels_box">
<div class="form_gioco">
<form action="main.php?page=user_cambio_pass" method="post">
<div class="form_label">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['user']['pass']['email']); ?>
</div>
<div class="form_field">
<input name="email" />
</div>
<div class="form_label">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['user']['pass']['new']); ?>
</div>
<div class="form_field">
<input name="new_pass" />
</div>
<div class="form_submit">
<input type="hidden" name="op" value="new" />
<input type="submit" name="nulla" value="<?php echo gdrcd_filter('out', $MESSAGE['interface']['user']['pass']['submit']['user']); ?>" />
</div>
</form>
</div>
</div>
<?php
if($_SESSION['permessi'] >= MODERATOR) {
$query = ($_SESSION['permessi'] == SUPERUSER) ? "SELECT nome FROM personaggio ORDER BY nome" : "SELECT nome FROM personaggio WHERE permessi < ".SUPERUSER." ORDER BY nome";
$result = gdrcd_query($query, 'result'); ?>
<div class="panels_box">
<div class="form_gioco">
<form action="main.php?page=user_cambio_pass" method="post">
<div class="form_label">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['user']['pass']['force']); ?>
</div>
<div class="form_field">
<input name="new_pass" />
</div>
<div class="form_field">
<select name="account">
<option disabled selected><?php echo gdrcd_filter('out', $MESSAGE['interface']['user']['pass']['change_to']); ?></option>
<?php while($row = gdrcd_query($result, 'fetch')) { ?>
<option value="<?php echo $row['nome']; ?>"><?php echo $row['nome']; ?></option>
<?php }//while
gdrcd_query($result, 'free');
?>
</select>
</div>
<div class="form_submit">
<input type="hidden" name="op" value="force" />
<input type="submit" name="nulla" value="<?php echo gdrcd_filter('out', $MESSAGE['interface']['user']['pass']['submit']['user']); ?>" />
</div>
</form>
</div>
</div>
<?php
}//if
}//if ?>
</div>
</div><!-- Box principale -->
03/02/2023 14:48:44
kasa ha scritto: Riusciresti a riportare qui il contenuto di pages/user_cambio_pass.inc.php ?
Kasa.
Ci hai trovato niente di strano?
04/02/2023 13:14:21
Ho provato tutte le possibili operazioni sulla sezione e non mi ha dato alcun errore.
Ma ti da qualche messaggio strano? Ti riporta sempre Modifica eseguita alla fine?
Kasa.
04/02/2023 21:43:34
kasa ha scritto: Ho provato tutte le possibili operazioni sulla sezione e non mi ha dato alcun errore.
Ma ti da qualche messaggio strano? Ti riporta sempre Modifica eseguita alla fine?
Kasa.
Credo sbagliavo io qualcosa.
Ora funziona bene.
Non lo so... Scusami! E Grazie!
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
World of the Sea Battle ↗
The Coven ↗
Raja Dunia ↗
Foundation Galactic Frontier ↗
Wuthering Waves ↗
Project Entropy ↗
AlterEgo ↗