création d'une BDD par utilisateur... quel mot de passe ?

WRInaute discret
Bonjour à tous !

Je suis en train de développer une application en saas. Pour pas mal de raisons, je dois créer une BDD mysql pour chacun des comptes client. Seulement, je me demande quel mot de passe affecter à l'utilisateur créé à la volée ? D'un point de vue sécurité :

- un mot de passe avec une partie identique + id_client ?
- un mot de passe créé aléatoirement, mais du coup que je dois enregistrer quelque part en clair dans une table...moyen je pense.
- ..?

idéalement j'aimerais un mot de passe aléatoire, que je puisse stocker en crypté non décryptable, mais du coup je ne pense pas que je puisse l'utiliser pour me loguer à la bdd...

avez vous une idée ?

PS : je ne souhaite pas de solution avec une BDD unique pour tous les clients.

merci et bon weekend !
 
Nouveau WRInaute
Allo je te conseillerais vraiment un système en SHA1 et que quant tu ajoute un utilisateur ses information son enregistrer dans un table.

exemple dans ton formulaire tu as utilisteur : TESTE et le mots de passe tu pourrais creer une fonction :

function sha_email($user,$pass)
{
$user = strtoupper($user);
$email = strtoupper($email);
return SHA1($user.':'.$email);
}

$pass = sha_email($_POST['account'], $_POST['email']);

et tu créer une qwery :

mysql_query("INSERT INTO `Backup_account` (`username`, `pass`, `email`)
VALUES ('".$_POST['account']."', '$pass', '".$_POST['email']."');");

Mais comme ceci tu ne peut pas vraiment ravoir le mots de passe.
Ceci dit tu pourrais adapter cette fonction de SHA1 a ta maniere
 
WRInaute discret
merci pour la réponse. Ce qui me dérange dans cette solution est le fait que je ne puisse pas retrouver le mot de passe, car je dois l'avoir en clair (je suppose ?) pour pouvoir me connecter à la BDD avec mysql_connect... à moins qu'il existe d'autres méthodes ?
 
Nouveau WRInaute
Je vois un peut plus ta question maintenant, mais je crois avoir la vrais réponse pour toi ;) je te fait les code et tu me diras si toute est a ton gout :p
 
Nouveau WRInaute
Voici le code que je crois que sa pourrais fonctionner ! =D

Code:
<?php
// insertion de ton user
function sha_email($user,$pass)
{
$user = strtoupper($user);
$email = strtoupper($email);
return SHA1($user.':'.$email);
}

$pass = sha_email($_POST['account'], $_POST['email']);



mysql_query("INSERT INTO `Backup_account` (`username`, `pass`, `email`) 
VALUES ('".$_POST['account']."', '$pass', '".$_POST['email']."');");

//-- login a la bdd de ton user
function sha_email($user,$pass)
{
$user = strtoupper($user);
$email = strtoupper($email);
return SHA1($user.':'.$email);
}

$requete=mysql_query("SELECT * FROM `Backup_account` WHERE  `username` =TESTE",$con);
if (mysql_num_rows($requete) != 0)
{	
	$row = mysql_fetch_assoc($requete);
	$pass = sha_email($row['username'], $row['pass']);

	$con = mysql_connect('localhost', $row['username'], $pass);
	mysql_set_charset('utf8',$con); 	
}

?>

mais tu peut trouver un moyen de l'adapter a ta façon
 
Discussions similaires
Haut