|
|
|
|
Bonsoir ,
J'ai un site actuellement au stade de maquette, et la question de la création d'utilisateurs et de gestion des droits d'accés et d'écriture dans ma base de données SQL va se poser.
scénario : (gestions de restaurants)
L'utilisateur s'inscrit, puis complète une table "etablissement".
Il est bien entendu évident qu'il ne faut pas donner des droit root aux utilisateurs ni laisser cet identifiant et son mdp trainer sur le serveur.
Ma question est la suivante :
Solution 1 : Je creer un user standard qui écrira dans la table après que l'utilisateur est cliqué sur le bouton "envoyer" du formulaire
Solution 2 : Chaque utilisateur à la création de son compte enclenche la création d'un user avec accès en écriture dans la table souhaitée.
Suis-je dans l'erreur ? J'ai imaginé cette possibilité en pensant qu'il serait plus aisé de supprimer une pollution de base par un hackeur si ce dernier a un identifiant perso ? Peut-on supprimer les enregistrements fait par un utilisateur ds une base ?
Akyrion
Configuration: Windows XP Internet Explorer 7.0
J'ai peut etre pas bien compris... mais une question me viens à l'esprit :
//------------------------------------------\\
function db_connect(){
//
// tests de connexion a mysql et a la base. \\
//------------------------------------------\\
$base ="popo";
$user = "mofifiable"; $pwd = "modifiable";
$conn = mysql_connect('localhost',$user,$pwd);
if(!$conn)
messerr("Pb connection mysql","white");
if(!mysql_select_db($base,$conn)){
mysql_close($conn);
messerr("Pb connection a la base \"".$base."\"","white");
}
return $conn;
}
Mais pour pouvoir te connecter avec des paramètres personnels à chaque utilisateur, il te faut tout d'abord identifier cet utilisateur par rapport à ta base de donnée, et là tu dois donc passer par un user prédéfini pour retrouver ces données. Bon, tu vas me dire... la fonction données ci dessus peut prendre pour paramètre le user et mdp, et si pas fournis, alors prendre un user/mdp par défaut. Mais je trouve tout de même ce système un peu.. lourd à mettre en place (1 user par utilisateur sur le site) et surtout ca ne servirai pas à grand chose je pense. Je ne crois pas qu'il soit possible de retrouver les modifications faites par tel ou tel user dans la base de données. En tout cas pas sous MySQL (je ne sais pas pour les autres). Ou peut etre ton hébergeur t'offre-t-il une fonctionnalité permettant de faire cela. (?) En tout cas, (je donne mon avis personnel) je garderais la solution 1. Par contre, ce que tu peux faire si tu souhaite savoir qui fais quoi, c'est instauré un systeme de log, avec une classe objet php qui récupère des messages de log et qui régulièrement écrit ces logs dans un fichier, avec date, heure, et les infos concernant l'action faite, ainsi que l'utilisateur qui l'a faite. ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic et ya pas de bôg môsieu ! ~ |