[RESOLU] Connexion à un espace sécurisé

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Connexion à un espace sécurisé

Re: Connexion à un espace sécurisé

par Ptitepalou » 28 févr. 2013, 18:33

Bonjour,

Problème résolu !

J'ai pu modifier le mot de passe et la connexion fonctionne à nouveau. Je suis dessus depuis plusieurs heures, j'ai essayé maintes solutions et je ne trouvais pas comment modifier ce mot de passe oO (les requetes sql ne fonctionnaient pas, syntaxes trouvées sur Internet mauvaises : j'ai été dans Afficher/modifier (crayon) )

Merci tout de même de t'être penché sur mon cas

Ce qui est bizarre, c'est que je n'ai jamais modifié le mot de passe et personne n'a pu le faire, et quand je remets l'ancien mot de passe la connexion ne passe pas ! bizarre

Re: Connexion à un espace sécurisé

par Ptitepalou » 28 févr. 2013, 17:54

Rebonjour,

Je n'ai plus le problème sur les lignes 19 et 36, cependant la connexion ne fonctionne toujours pas :cry: même en essayant avec le mdp texte et le mdp crypté :/

Que faire ? où rechercher ?

ma page login appelle la page connexion, qui ne comporte pas de variable project_name etc, peut-être ca ?


page connexion:
<?php 
//pr�paration des variables

$serveurDB = 'localhost';
$userDB = 'shareadmin';
$passDB = '---'; 
$baseDB = 'share';

//1 connexion au serveur
$con = mysql_connect($serveurDB, $userDB, $passDB);
if(!$con){
	echo 'echec serveur';
	exit();
	}
	
//2 choix de la base
$db = mysql_select_db($baseDB);
if(!$con){
	echo 'echec base';
	exit();
	}
?>

Re: Connexion à un espace sécurisé

par enneite » 28 févr. 2013, 17:45

oui le code manquait d'un double quote:
$query ="SELECT *
FROM `user` 
WHERE project_name = '$project_name' 
AND pass = '".md5($pass)."' ";
Après tu peux mettre en commentaires les header() et afficher la requête.
Tu peux aussi afficher les résultats de la requête et / ou les données de la base pour vérifier, bref faire du debugage.
Mais je me disais que si le code n'a pas changé, c'etatit peut être la configuration de la base qui avait changé, ... d'oul 'idée d'utiliser l'algo md5 dans sa version PHP, normalement le résultat au bout est le même.

Re: Connexion à un espace sécurisé

par Ptitepalou » 28 févr. 2013, 16:33

Non je ne suis pas sûre, ce n'est pas moi qui ai mis en place l'espace mais il est là depuis 1 an et il fonctionnait très bien.

Il y a une erreur dans ton code (merci Dreamweaver ^^) donc j'ai testé avec
$query ="SELECT *
FROM `user` 
WHERE project_name = '$project_name' 
AND pass = '.md5($pass)'.' ";
et
12 $query ="SELECT *
FROM `user` 
WHERE project_name = '$project_name' 
AND pass = '.md5($pass)"." ";

j'obtiens 2 erreurs sur 2 autres lignes lorsque je rentre le projet_name & pass :

sur la ligne 19
17 $result = mysql_query($query);
18
19 $nb = mysql_num_rows($result);
et la 36
33		header("location: accueil.php");
34	}else{
35		//echec -> ecriture du log et reirection
36		header("location: index.php?error=1&project_name=$project_name");
37	}

?>

Ca signifie que je n'ai pas de md5 ?
Dans phpmyadmin le mdp s'affiche en chiffre (= en "blob" je suppose) et j'ai tenté la connexion en chiffre et en texte (je sais que c'est le bon), l'un ne fonctionne pas mieux que l'autre :/

Re: Connexion à un espace sécurisé

par enneite » 28 févr. 2013, 15:56

Es -tu sur davoir une version MD5 sur ton MySQL
Le format retourné par celle ci est-elle du texte ou du BLOB ?
A la limite, tu peux tenter d'utiliser la fonction md5 de PHP pour voir si cela fonctionne :

$query ="SELECT *
FROM `user`
WHERE project_name = '$project_name'
AND pass = '.md5($pass)".' ";

Connexion à un espace sécurisé

par Ptitepalou » 28 févr. 2013, 13:59

Bonjour à tous,

Sur mon site il y a une rubrique espace sécurisé, qui permet à des personnes de se connecter et d'envoyer des fichiers.
Jusque là tout fonctionnait bien, mais aujourd'hui une personne ne peut plus se connecter à son compte, un message d'erreur apparaissant : "Veuillez verifier vos identifiants et mots de passe."
J'ai alors vérifié dans la base mysql les id et mdp à entrer pour ce compte et pour se connecter ; en utilisant ces données la connexion ne fonctionne toujours pas :-s


page de connexion :
<?php if (! empty($error)){
	//selon les valeurs de erreur
	if ($error == 1) {echo '<p class="alerte">Veuillez verifier vos identifiants et mots de passe.</p>';}
	else if ($error == 2) {echo '<p class="alerte">Veuillez vous identifier.</p>';}
	}
?>
<form action="login.php" method="post">
<table>
<tr><td colspan="2"><h1>Bienvenue sur l'espace securisé</h1></td></tr>
<tr><td colspan="2">Veuillez saisir votre login et votre mot de passe.</td></tr>
<tr><td>Login :</td><td><input name="project_name" id="project_name" type="text" size="20" /></td></tr>
<tr><td>Mot de passe :</td><td><input name="pass" id="pass" type="password" size="20" /></td></tr>
<tr><td colspan="2" align="center"><input name="submit" type="submit" value="OK" /></td></tr>
</table>

</form>

page login :
<?php 
include ("connexion/connexion.php"); 


//reception des variables
$id_user = $_POST['id_user'];
$project_name = $_POST['project_name'];
$pass = $_POST['pass'];



$query ="SELECT *
FROM `user` 
WHERE project_name = '$project_name' 
AND pass = MD5('$pass')";

$result = mysql_query($query);

$nb = mysql_num_rows($result);

//test
if($nb==1){
		//reussite -> redirection
		// recup des reponses
		$line=mysql_fetch_array($result);
				
		//cr�ation de la session
		session_start();
		$_SESSION['project_name']= 'ok';
		$_SESSION['id']= $line['id_user'];
		$_SESSION['droit']= $line['droit'];
		
		header("location: accueil.php");
	}else{
		//echec -> ecriture du log et reirection
		header("location: index.php?error=1&project_name=$project_name");
	}

?>

Je ne sais pas d'où peut venir le problème, j'entre bien le "project_name" puis le pass, il n'y a a priori pas de problèmes de code, alors peut-être manque-t-il quelque chose ?