Jump to content

creation d'une zone privee


Recommended Posts

slt

Une copine vend de la vaisselle et voudrais proposer un jeune marié la creation d'une zone prive pour leur liste de mariage, de maniere que leur famille et amis puisse faire leur choix dans cette liste. La copine recevrais les choix des gens par mail.

Je ne sai pas si c'est clair mon explication. Je n'ai aucune idee de comment faire se genre de chose. Je pensai en PHP mais j'ai que les bases et je ne saurai pas creer le spages. J'ai deja installer un forum en PHP (Forum PHPBB) et aussi un panier (OsCommerce).

Merci d'avance pour votre aide et vos lumiere.

Link to post
Share on other sites

Tu peux utiliser les fichiers .htaccess pour protéger toutes les pages d'un répertoire. Ainsi, si les visiteurs ont le login et le mot de passe, ils n'ont qu'à se logger une seule fois pour toutes les pages contenues dans ce dosser.

Le grand intérêt pour toi, c'est que tu ne dois RIEN changer aux pages que tu as déjà créées.

Link to post
Share on other sites

Merci pour ta reponse. Oui mais l'ideal ca serais que chaque cple se cree leur propre login et mot de passe et qu'il puisse faire dans leur zone prive leur liste de mariage.

Link to post
Share on other sites

Dans ce cas, tu n'as pas beaucoup le choix, tu dois utiliser les variables sessions ainsi qu'une base de données pour stocker tous les logins et les mots de passe des différents couples.

En clair:

-1 table où on stocke les logins et les mots de passe (cryptés)

-une page d'authentification où on regarde si le login existe et si le mot de passe est correct.

-peut-être une autre table où tu stocke les listes. Ca, c'est à toi de voir

Ca t'as aidé? :cool:

Link to post
Share on other sites
Oui mais l'ideal ca serais que chaque cple se cree leur propre login et mot de passe
pas de problème, il suffit juste de les enregistrer dans htaccess avec php, en n'oubliant pas de crypter le password
Link to post
Share on other sites

donc avec PHP et MySQL. J'y avait pense, c'est un peu pour ca que j'ai poste ici, mais j'en ete pas certain. Donc tu ma aide en me confirmant :P Par contre pour faire ca va etre tres chaud pour moi car je n'y conanis que dalle en PHP et je sai que gerer des table MySQL :unsure:

Link to post
Share on other sites

il suffit juste de faire

define("PASSWDFILE", "chemin du .htpasswd");
$filehandle = fopen(PASSWDFILE, "w");
fputs ($filehandle, $new_login.":".crypt($new_passwd)."\n");
fclose($filehandle);

et dans le htaccess du répertoire

<limit GET POST>
require valid-user
</Limit>

ensuite, il faut juste récupérer le $_SERVER['REMOTE_USER'], car s'il est arrivé là et que apache a validé l'accès, le password sera bon. Donc dans la bdd, il suffit juste d'avoir le login, pas besoin de conserver le password, même en md5

Link to post
Share on other sites
il suffit juste de faire
define("PASSWDFILE", "chemin du .htpasswd");
$filehandle = fopen(PASSWDFILE, "w");
fputs ($filehandle, $new_login.":".crypt($new_passwd)."\n");
fclose($filehandle);

et dans le htaccess du répertoire

<limit GET POST>
require valid-user
</Limit>

ensuite, il faut juste récupérer le $_SERVER['REMOTE_USER'], car s'il est arrivé là et que apache a validé l'accès, le password sera bon. Donc dans la bdd, il suffit juste d'avoir le login, pas besoin de conserver le password, même en md5

"il suffit juste de faire"....... :P pour moi il me faudra je sai pas combien de temps pour le faire et encore si j'y arrive :rolleyes::wacko:

Plus serieusement, avec ca chaque cple peu se creer son propre login et mot de passe ?

Link to post
Share on other sites

Avec ça, tu peux mettre à jour, automatiquement, en temps réel les user/password.

Après, à toi de faire l'interface de saisie/confirmation pour les utilisateurs en vérifiant que le login n'est pas déjà utilisé

Link to post
Share on other sites
Mais avec les .htaccess, chaque membre ne peut avoir sa zone privée, tous les membres verront les mêmes pages???
Non, ça serait trop basique :thumbsdown:

il suffit de récupérer $_SERVER['REMOTE_USER'] et ensuite, récupérer les éléments correspondant à ce code dans la BDD :smartass:

L'avantage de cette méthode : pas possible de faire une injection de code SQL

Link to post
Share on other sites

Bonsoir, je viens de me reveiller apres une bonne nuit et je tombe ici :hypocrite:

Je pense que le plus simple pour toi est de protéger les pages que tu désire grâce aux sessions en php. Un fonction permet l'authentification des données posté par ta page d'identification et celles enregistrées dans ta base de données. Je ne pense pas que ce soit vraiment compliqué de t'expliquer.

Pour faire simple tu créer un ficher nommé secure.php, tu appelera se fichier sur toutes les pages que tu désire protéger avec ce code : <?php include ("secure.php"); ?>

se fichier contient:

<?php 
session_start();

if (!isset ($_SESSION['login']))
{
header ('location:connexion.php');
exit();
}
?>

Maintenant passons à un peu plus compliqué, la création du formulaire d'authentification + la fonction de verif, je te laisse faire les parametre de connection à ta bdd.

Tu créer un nouveau fichier php que tu nomme connexion.php et dedans tu met :

<?php 
session_start();

if (isset ($_POST['login']) && isset ( $_POST['password']))
{
$login = $_POST['login'];
$password = $_POST['password'];
if (verification($login,$password))
{
session_regenerate_id();
$_SESSION['login'] = $login;
$message = " Authentification validée ";
header ('location:index.php?page=fax');
}
else {$message = " Authentification refusée, mauvais mot de passe <br>";
$message .= " <a href =connexion.php class=style3>retour</a>";}
}
?>

<?php // Ton formulaire, j avai une feuille de style CSS .. je te laisse remettre en forme ta page en enlevant les div et differentes balise de classe que tu trouve ?>
<html>
<head><title>Page d authentification</title></head>
</head><body><center>
<div id="admin">
<form method="POST" action="connexion.php">
<table width="370" border="0" align="center" cellpadding="1" cellspacing="0">
<tr><td colspan="3"><center><?PHP echo $message ?></center></td></tr>
<tr>
<td width="130"> </td>
<td width="99">Login :</td>
<td width="308"><input type="text" name="login" style="background:#FF8C8C"></td>
</tr>
<tr>
<td> </td>
<td>Password :</td>
<td><input type="password" name="password"style="background:#FF8C8C"></td>
</tr>
<tr><td height="30" colspan="2" class="style3"> </td>
<td class="style3">
<input name="B_auth" type="SUBMIT" id="B_auth" value=" Valider " style="background-color:#FFCC99; border:#FFFFFF; border:double; border-width:thin"> </td>
</tr></table></form>
</div></center>
</br></body></html>

<?php

// la fonction qui te permettra de contrôler les utilisateurs.

function verification($nom,$password)
{

// je te laisse faire ta chaine de connection ..
moi j'ai une table users possédant les champs: id, nom, prenom, login,password, mail .. bref tu met ce que tu veux

$query = "SELECT * FROM users WHERE login='$nom' AND password='$password'";

if (mysql_num_rows($query)>0)
{return TRUE;}
else
{return FALSE;}
}

?>

Tu auras plus qu'a enregistrer les utilisateurs dans la bdd manuelement ou en créant un formulaire comme tu veux :)

En esperant t'avoir éclaircit sur le fonctionnement des sessions et surtout sur ton problème de sécurité. Maintenant les différentes personnes auront acces à la partie administration.

Edited by Damien_
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...