pb identification

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 : pb identification

Re: pb identification

par AB » 13 oct. 2009, 20:06

Il y a un exemple d'inscription et de connexion dans un espace membre ici. Tu pourras comparer. Ce lien figure d'ailleurs dans le post du deuxième lien donné par FuZZyLine ((la discussion dans ce post pourra t'aider également).

Au passage (mais ce n'est pas l'origine de ton pb), utilises la fonction mysql_real_escape_string plutôt qu'un simple addslashes pour protéger tes requêtes.

Re: pb identification

par faycalo » 13 oct. 2009, 18:20

oupps,
Je me suis mal exprime.
Quand j'ai dit que la discussion ne m'a pas servi,je parlais du 1er lien que m'a donne fuzzyline.
Sinon,j'ai bien dit que j'allais voir les sessions (le deuxieme lien de fuzzyline)

Et quand je dis quelqu'un d'autre en aide => quelqu'un d'autre avec exemple (comme fuzzyline) je suis consciens que je ne suis pas la 1ere personne sur terre a faire une identification en php

Re: pb identification

par Cobaye » 13 oct. 2009, 18:05

on est pas la pour donner des solutions toutes faites mais donner des pistes ! la piste que t'a donner FuZZyLine est l'utilisation des sessions PHP.

Apprend à utiliser les sessions et tu pourrai faire ton système d'identification.
Quelqu;un d'autre pourrait m'aider svp!!!!!!
Très mal vue sur le forum ! étudie d'abord les pistes données avant de juger !

Re: pb identification

par faycalo » 13 oct. 2009, 18:00

bon,
La discussion ne ma pas beaucoup servi ...
J'ai pas l'impression qu'il y'ai de la securite ds le post que tu ma donner.
bref,je vais jeter un coup d'oeil sur les sessions.

Quelqu;un d'autre pourrait m'aider svp!!!!!!

Re: pb identification

par FuZZyLine » 13 oct. 2009, 12:13

Re,
Je crois que tu as oublie de rajouter le lien vers la discussion qui pourrait m'aider.
Merci :)
lol. 'fin, rien n'est trop tard: php-debutant/session-start-t250318.html

@+

Re: pb identification

par faycalo » 13 oct. 2009, 11:39

Je crois que tu as oublie de rajouter le lien vers la discussion qui pourrait m'aider.
Merci :)

Re: pb identification

par FuZZyLine » 13 oct. 2009, 09:13

Salut,
Bonjour,
Mon probleme est simple.
A partir d'un formulaire l'utilisateur peut acceder a son compte(securise)
[...]
Resultat,j'arrive bien a me connecter puisque j'ai une redirection vers pubs.php,mais vu que pubs.php
commence par necessite_identification(); J'ai le message d'erreur access denied!!!! Preuve que je
ne suis pas identifier. Est ce que quelqu'un aurait un conseil a me donner pour me debloquer!!!!
Merci beaucoup (dsl pour les accents j'utilises un clavier [*]anglais lol)
Voici un post récent qui peut t'interresser. Même s'il ne traite pas de ton problème directement,
si tu lis attentivement, tu y trouveras la réponse.

Et en guise de fin de post, un 'tit lien: http://www.manuelphp.com/php/ref.session.php

@+ ;)

pb identification

par faycalo » 12 oct. 2009, 21:09

Bonjour,
Mon probleme est simple.
A partir d'un formulaire l'utilisateur peut acceder a son compte(securise)

Mon probleme est que je n'arrive pas a acceder a la page pub(espace membre).
JE crois que tout est ds des fonctions comme necessite_identification et is_identifie(Que j'ai pas ou/et je n'arrive pas a faire)

voila mon code ;

Le formulaire(qui marche bien)
<div class="element_menu">
             <div id="sous_menu"><img src="images/stars.jpg" width="30" height="20" border="0" align="left" /> <h3>Pro access</h3> </div>

       
	 <form method="post" action="<?=$_SERVER['PHP_SELF']?>?action=log">
   <p>
       <label for="Username">Username :</label>
       <input type="text" name="login" id="login" style="width:120px"  />
       
       <br />
       <label for="Password">Password :</label>
       <input type="password" name="pass" id="pass" style="width:120px" />
       
   </p>
   <p>
       <input type="submit" value="Login"/> 
   </p>
</form></div>
<?php if (isset($message_erreur)) {echo "<p class=\"errorMessage\">".$message_erreur."</p>";}?>

</div>
CE qui se passe quand on valide:
<?php if (est_identifie()) {
	
		$goto = "./pubs.php";
	
	header("Location: ".$goto);
	die;
}
?>
<?php
$message_erreur = "";
if (isset($_GET['action']) && $_GET['action'] == "log")
{
	
	$login=addslashes($_POST['login']);
	$pass=addslashes($_POST['pass']);
	$utilisateur = verifier_authentification($login,$pass);
	if ($utilisateur) {
		$_SESSION['utilisateur'] = $utilisateur;
		$_SESSION["ip"] = $_SERVER['REMOTE_ADDR'];
		$_SESSION["url"] = $_SERVER['HTTP_HOST'];

		/*
		 * Si wantsurl est défini, alors on se redirige vers cette page sinon
		 * on revient à la page d'accueil
		 */

		if (empty($_SESSION['wantsurl'])) {
			
				$goto = "./pubs.php";
			
		} else {
			$goto = $_SESSION['wantsurl'];
		}

		header("Location: ".$goto);
		die;

	} else {

		$message_erreur .= "Login et/ou mot de passe incorrect(s) - Veuillez essayer à nouveau.";
	}
}
?>
les fonctions que j'utilise:
<?PHP 



function est_identifie() {

/* Retourne true si l'utilisateur des identifie */

global $SESSION, $REMOTE_ADDR;

return isset($SESSION)

&& isset($SESSION["login"])

&& isset($SESSION["ip"])

&& $SESSION["ip"] == $REMOTE_ADDR;

}

function necessite_identification() {

/* Cette fonction vérifie si l'utilisateur est identifié. Si non affiche

* l'écran d'authentification avant de laisser l'utilisateur continuer */

global $SESSION, $dossier_www, $PHP_SELF;

if (! est_identifie()) {

$SESSION["wantsurl"] = $PHP_SELF;

echo "Access denied!!!!!!";

die;

}

}
function verifier_authentification($login, $pass) {
 /* Vérifie le nom d'utilisateur et le mot de passe. S'ils sont valides, renvoie un
 * tableau avec les infos de l'utilisateur */

 $requete = "SELECT * FROM Users WHERE username = '$login' AND password = '$pass'";
 $qid = mysql_query($requete)
  or die("Erreur lors de l'exécution de la requête111111: ".mysql_error());
 
 $num=mysql_num_rows($qid);
 
 if (mysql_num_rows($qid) ==1 ) {
	 
 return mysql_fetch_array($qid);
 }
 else {

 return;
 }
 } 
?>
Resultat,j'arrive bien a me connecter puisque j'ai une redirection vers pubs.php,mais vu que pubs.php commence par necessite_identification();
J'ai le message d'erreur access denied!!!! Preuve que je ne suis pas identifier.
Est ce que quelqu'un aurait un conseil a me donner pour me debloquer!!!!
Merci beaucoup
(dsl pour les accents j'utilises un clavier anglais lol)