Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Login con Username e Password

    Ciao, sto preparando un app, dove all'inizio viene richiesto all'utente un login con username e password. Dopo aver inserito i dati gli stessi vengono spediti ad un php sul dominio in questione che ritorna o success o fail a seconda che l'utente si sia loggato con le giuste credenziali. Sul device il campo utilizzato per la password è un campo password (con lettere coperte da puntini).

    Fino ad ora ho fatto dei test utilizzando solo il campo username e il php funziona correttamente. Ora però devo provare anche utilizzando la pwd. la mia domanda è: come leggere la password su un DB visto che è criptata? Penso che non debba passarla come campo normale come faccio con la username....va codificata in qualche modo anche la mia? Il DB è un mysql e se apro la tabella utenti il campo pwd lo leggo tipo in questo modo: c49102ba8df51a0cc90ec61166c8128a141b793d
    Potete aiutarmi per favore?
    Grazie
    Carlo

    comunque il php che sto usando e che funziona se utilizzo solo lo username è questo:

    Codice PHP:
    <?php
    require("db.php");
    session_start();
    $record = array();$result = array();
    $Username $_REQUEST['username'];
    $mypassword $_POST['password']; 
    $Username stripslashes($Username);
    $mypassword stripslashes($mypassword);
    //$mypassword = sha1($mypassword);  
    $sql  "SELECT id,email,group_id,follow_text,fb_page,fb_post_text,default_frame,";
    $sql .= "       terms_company,terms_mail,terms_address,terms_place ";
    $sql .= "  FROM users";$sql .= " WHERE username='".$Username."'"." and password='".$mypassword."'";

    file_put_contents('/tmp/out.log'$sql."\n"FILE_APPEND);

    $resultdb $mysqli->query($sql);
    // Associative array$record = $resultdb->fetch_array(MYSQLI_ASSOC);
    $count $resultdb->num_rows;
    //file_put_contents('/tmp/out.log', 'oount:'.$count."\n", FILE_APPEND);        
    if( $count ){             
    $Id $record['id'];            
    $Email $record['email'];            
    $GroupId $record['group_id'];            
    $FollowText $record['follow_text'];            
    $FbPage $record['fb_page'];            
    $FbPostText $record['fb_post_text'];            
    $DefaultFrame $record['default_frame'];            
    $TermsCompany $record['terms_company'];            
    $TermsMail $record['terms_mail'];            
    $TermsAddress $record['terms_address'];            
    $TermsPlace $record['terms_place'];                        
    $_SESSION['authenticated'] = "yes";            
    $_SESSION['username'] = $Username;                        
    $result['success'] = true;            
    $result['msg'] = 'User authenticated!';            
    $result['Id'] = $Id;            
    $result['Email'] = $Email;            
    $result['GroupdId'] = $GroupdId;            
    $result['FollowText'] = $FollowText;            
    $result['FbPage'] = $FbPage;            
    $result['FbPostText'] = $FbPostText;            
    $result['DefaultFrame'] = $DefaultFrame;            
    $result['TermsCompany'] = $TermsCompany;            
    $result['TermsMail'] = $TermsMail;           
     
    $result['TermsAddress'] = $TermsAddress;            
    $result['TermsPlace'] = $TermsPlace;        
    } else {                        
    $result['success'] = false;            
    $result['sql'] = $sql;           
     
    $result['msg'] = 'Incorrect user or password.';        }        
    //file_put_contents('/tmp/out.log', 'result:'.$result."\n", FILE_APPEND);
    echo $_GET['callback'] . '('.json_encode($result) . ')';
    ?>
    Ultima modifica di pippetto123; 13-09-2014 a 17:21

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Secondo me togliendo il commento a questa riga //$mypassword = sha1($mypassword); risolvi.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    purtroppo no...mi sono accorto che il php con il quale è stato fatto il sito è in realtà cakephp....ne sai qualcosa?

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Cerca di capire come cakephp fa l'hash delle password, sicuramente applica un salt che devi replicare anche tu

  5. #5
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    cakephp usa per generare la password criptata usa un salt:
    password = sha1(salt+password_utente)

    Il salt lo trovi su app/Config/core.php, di solito è impostato così:
    Configure::write('Security.salt', 'XXXXXXXXXXXXXXXXXXXXXXXXXXX');

    Quindi dovresti prendere la password inserita e fare:
    $mypassword = stripslashes($mypassword);
    $mypassword = sha1($salt.$mypassword); //dove $salt è quello definito nel core.php

    Ps: di solito la funzione di hash usata da cakephp è la sha1, ma è possibile cambiarla

    Ps2: Tutto questo è valido se viene usato l' Auth component di cakephp...se poi si è fatto una cosa personalizzata cambia tutto
    Ultima modifica di boots; 14-09-2014 a 17:51

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.