KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Vendredi 4 juillet 2008 - 17:21:33
[php] sécurisé accès page
par Benoît
 Fil de Discussions
Statut :
lundi 8 août 2005 à 09:30:39
salut,

nous avons créer un formulaire demandant à l'utilisateur de rentrer son mot de passe et login lui permettant d'accéder à une page précise. Le problème est que cette page est visible dans la barre des adresses. Comment sécuriser l'accés pour que l'utilisateur ne tape pas le nom de la page et accède a cette dernière.

On m a parlé de htaccess ??

Merci d'avance
Répondre à Benoît  Signaler ce message aux modérateurs Aller au dernier message

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Erdnax, le lundi 8 août 2005 à 11:25:52 Fil de Discussions
Salut,

Pour sécuriser l'accès à un page, tu as, à ma connaissance, deux moyens.

Les .htaccess :
Avec ça, tu peux protéger l'accès à tout un répertoire de ton site, de manière très sécurisée, mais pas très pratique si tu veux faire une administration complète du site.
http://www.infres.enst.fr/~danzart/frames/htaccess.html

et

Le php :
Pour ça, je te conseil d'utiliser les sessions. Tu fais un formulaire de login que tu envoie sur une page de vérification. Si les login et mot de passe sont juste, alors tu enregistre une session et tu redirige le visiteur vers la page, sinon tu reviens au formulaire. Ensuite, sur la page à protéger, tu vérifie que la session à été enregistrée, et sinon, tu renvoie le visiteur sur le formulaire.
http://www.phpdebutant.org/article69.php

@+
(_..:: P'tit Suisse ::.._)
Répondre à Erdnax

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Benoît, le lundi 8 août 2005 à 11:42:54 Fil de Discussions
Je te remercie.
Répondre à Benoît

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Erdnax, le lundi 8 août 2005 à 11:46:42 Fil de Discussions
Petite précision, comme tu l'aura peut-être remarqué, je suis plus à l'aise avec la version php (la version htaccess, je l'ai essayée une fois 30mn sans la voir fonctionner et depuis je ne l'ai, peut-être à tort, plus touchée :P).

Donc si tu as des problèmes et que tu as décidé d'utiliser php, je devrait pouvoir t'aider. Et htaccess ... peut-être ^^.

Donc n'hésite pas à revenir si tu as des problèmes ;)
(_..:: P'tit Suisse ::.._)
Répondre à Erdnax

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par didiersee, le dimanche 7 janvier 2007 à 09:25:11 Fil de Discussions
salut ptit suisse, j'ai été voir le site php débutant mais il faut préalablement avoir créé une base de donnée avec login et mot de passe pour utiliser les sessions.
Est ce corrrect ou y a t-il un autre moyen ?
Répondre à didiersee

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par lefou4, le dimanche 7 janvier 2007 à 18:41:13 Fil de Discussions
Il vaut mieux en effet stocker les données dans une bdd avec le mot de passe en PASSWORD.

Lorsque le membre se connecte, tu interroges la bdd pour voir si un résultat existe.

Si ce n'est pas le cas, alors affichage d'un message d'erreur.
Si c'est le cas, tu stockes par exemple le pseudo dans une variable de SESSION. Pour les pages à accès restreint, il te suffit ensuite de tester la présence de cette variable de session.
Répondre à lefou4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par annonym-e, le mardi 10 avril 2007 à 14:46:58 Fil de Discussions
Tu devrais utilisé MD5 au lieu de PASSWORD, il est un peu moins connu et même plus efficace.
Répondre à annonym-e

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par H, le mardi 10 avril 2007 à 22:51:20 Fil de Discussions
Pour la protection des espaces d'administration :

- Vaut mieux un htaccess (surtout si vous codez mal les script d'identification en php) et cela permet de rendre innaccessible TOUS les fichiers contenus dans les répertoires et sous répertoires.

Si quand même vous voulez passer par le php :

- Mettez des sessions à TOUS les scripts contenus dans les répertoires (même les includes... du genre menu.php car un pirate peut s'en serveur pour savoir les autres noms des pages avec les liens.)

- Regardez bien quelle est la configuration du serveur (si les magic quotes sont activées pour les identifications dont il faut chercher les identifiants dans la base de donnée. Cela pour éviter les injections SQL)

- Regardez si votre site ne possède pas d'include locale. ( de même dans le cas d'un htacess.

Pour reprendre vos dires :

Il vaut mieux en effet stocker les données dans une bdd avec le mot de passe en PASSWORD.

=> codage en MD5 (même si il existe des tables de correspondance)

Avec ça, tu peux protéger l'accès à tout un répertoire de ton site, de manière très sécurisée, mais pas très pratique si tu veux faire une administration complète du site.

=> il n'y a pas de problèmes pour avoir un accès à une administration complète, dui moment qu'elle est dans les sous répertoires ou dans les répertoires contenant le .htapasswd et le .htaccess. (d'ailleurs le htaccess sert à pliens de choses utiles...google)


Et puis voiloute, en tous les cas, pour contrer les pirates, ne nomez jamais un dossier d'administration : /admin/ ou /administration/ (trop devinable.) et aussi utilisez pas le même mot de passe partout !

Et puis, si un pirate veut vous attaquer, il n'aurra pas de mal.
Répondre à H

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par sabak'noGAARA, le mercredi 5 décembre 2007 à 17:31:26 Fil de Discussions
Persnnellement, j'ai fait une page d'Administration sécurisée par PHP et c'est quasi inviolable et sans BDD ^^.

EN GROS, je récupère le login et mot de passe tapé, je hashe en md5 plusieurs fois le mot de passe et le compare avec le hash du bon mot de passe contenu dans la source, si ça correspond c'est que le mot de passe initial est correct et j'autorise l'accès.

Donc le code en partie:

if (!empty($_POST['password']))
{
$pass = htmlentities($_POST['password'], ENT_QUOTES);
$pass = md5(md5(md5($pass)));
}

if (isset($pass) AND $pass = $hash) //Il faudra évidemment déclarer $hash avant ^^
{
echo 'Page Protégée';
}
else
{
echo 'Formulaire';
}

Bon evidemment le mien est un peu plus élaboré, je n,'ai authorisé que deux essais, sinon il enregistre l'IP dans un doc txt, et si l'IP est dans ce fameux doc txt, le formulaire ne s'affiche plus :D Et y'a un gentil message de Vous avez dépassé le nombre de tentatives autorisées.

Mais je pense que ça suffira...
Répondre à sabak'noGAARA

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par shreek69, le jeudi 29 mai 2008 à 15:09:01 Fil de Discussions
Bonjour ,
Voila j'ai une base de donnees acess comportant une table qui contient les champs:Nom et Prenom et Mot_de_passe.
Je voudrais faire un petit formulaire d'identification qui une fois valider dirige l'utilisateur faire un site.Pour l'identification je voudrai comparer ce que l'utilisateur rentre comme Nom Prenom ert mdp avec le contenu de ma bdd acess, si les champs sont identique alors je le redirige vers mon site sinon ecrire erreur d'identification.
J'ai tres bien etablie la connexion avec ma BDD acess (avec l'obdc et tt sa) mais je ne sais pas comment faire pour comparer les saisies de l'utilisateur avec les donnees de ma bases de donnees.
Voila si quelqu'un pourrait m'aider je le remercie d'avance.
Répondre à shreek69

10


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Par anis, le samedi 31 mai 2008 à 00:27:50 Fil de Discussions
bonjour shreek69,

//////////////// le formulaire.html

<html>
<head>
<title>Connexion au site</title>
</head>
<body>
<form method="post" action="acces.php">
<table border="0" width="400" align="center">
<tr>
<td width="200"><b>Vôtre nom</b></td>
<td width="200">
<input type="text" name="nom">
</td>
</tr>
<tr>
<td width="200"><b>Vôtre prenom</b></td>
<td width="200">
<input type="text" name="prenom">
</td>.
</tr>
<tr>
<td width="200"><b>Vôtre mot de passe<b></td>
<td width="200">
<input type="password" name="password">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="login">
</td>
</tr>
</table>
</form>
</body>
</html>

/////////////////////////// la page acces.php



<?php
// On démarre la session
session_start();
$loginOK = false; // cf Astuce

// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['nom'])) && (!empty($_POST['prenom'])) && (!empty($_POST['password'])) ) {



//connection a la bese de données
$link = mysql_connect('localhost', 'root', '') or die('impossible de se connecter à la base de données');
if($link)
$db = mysql_select_db("nom_de_la_base", $link) or die('impossible d\'accéder à la base de données');





extract($_POST); // pour creer $nom, $prenom, $password

// On va chercher le mot de passe dans (user) la table qui contient les informations
$sql = "SELECT nom, prenom, mdp FROM user WHERE nom = '".addslashes($nom)."' and prenom = '".addslashes($prenom)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);

// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {

while ($donnees = mysql_fetch_array($req)) // On fait une boucle pour lister les résultats dans le cas ou ilya
// deux personne qui ont le mm nom et le mm prenom et des mdp differentes
{
// On vérifie que son mot de passe est correct
if ($password == $donnees ['Mot_de_passe']) {
$loginOK = true;
}
}
}

// Si le login a été validé on met les données en sessions
if ($loginOK) {
echo "identification reussite";
sleep(3);

header('Location: mon_Site.com'); //tu doit présiser la page ou on doit etre rediriger
}
else {
echo 'Une erreur est survenue, veuillez réessayer !';
}
?>


tu doit changer nom_de_la_base, user, mon_Site.com par tes propres informations
bonne contuniation
Répondre à anis

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par shreek69, le lundi 2 juin 2008 à 16:39:20 Fil de Discussions 
OK merci Anis c'est pafait
Jve tester tout sa cio
Répondre à shreek69
Discussions pertinentes trouvées dans le forum
25/02 11h01[PHP] securisation de pages webWebmastering18/03 22h335
08/06 08h43PhpMyadmin - modifier la page d'accueilWebmastering08/06 08h430
28/05 21h32accés pages sécurisésInternet29/05 00h203
25/02 10h14[PHP] securisation page webProgrammation07/04 22h141
Plus de discussions sur « [php] sécurisé accès page » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide