MDP PHP

Petit nouveau ! | 3 Messages

21 déc. 2010, 20:09

Bonjour, j'ai un problème de mot de passe dans mon code PHP le voici :
<script type="text/javascript"><?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

		$base = mysql_connect ('localhost', 'user', 'mdp');
		mysql_select_db ('membre', $base);

		// on teste si une entrée de la base contient ce couple login / pass
		$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
		$data = mysql_fetch_array($req);

		mysql_free_result($req);
		mysql_close();

		// si on obtient une réponse, alors l'utilisateur est un membre
		if ($data[0] == 1) {
			session_start();
			$_SESSION['login'] = $_POST['login'];
			header('Location: membre.html');
			exit();
		}
		// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
		elseif ($data[0] == 0) {
			$erreur = 'Compte non reconnu.';
		}
		// sinon, alors la, il y a un gros problème :)
		else {
			$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
		}
	}
	else {
		$erreur = 'Au moins un des champs est vide.';
	}
}
?>
</script>
la où il y'a en gras mdp c'est ce que je voudrait sécuriser pour que mes visiteur un peu curieux ne puiss pas voir mon mdp ...
merci de m'aider

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 déc. 2010, 21:35

salut,

je ne vois pas où tu affiche quelque chose, il n'y a aucun echo / print !


@+
Il en faut peu pour être heureux ......

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 déc. 2010, 22:34

Je pense que tu cherches à faire quelque chose qui n'est pas nécessaire...

PHP n'est pas du javascript. Il s'exécute côté serveur et ce n'est que le résultat de son exécution qui est envoyé au navigateur.

De ce fait, d'une part, tu n'es pas obligé de mettre des balises script pour exécuter du code php et d'autre part, ton code php étant exécuté avant d'être transmit au navigateur, seules les données que tu auras explicitement demandé à php d'afficher seront présentes dans le code source de la page (et donc visible par les internautes :))
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 3 Messages

21 déc. 2010, 22:53

Dans cette partie
$base = mysql_connect ('localhost', 'user', 'mdp');
(ligne 7)
je doit mettre mon mdp pour me connecter au serveur mysql mais si je uploade cette page sur mon site tout le monde va voir mon mdp sur la fonction code source de la page ...
mais comment faire pour enlever ce code et qu'il execute que sur le serveur ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 déc. 2010, 23:33

ryle à répondu, le fichier avec une extension .php sera interprété par le serveur et ne rendras que ce qui est explicitement demandé avec les fonctions echo / print !

je te conseil de lire ce tuto afin de combler tes lacunes (qui représentent la base) http://www.phpdebutant.org/article118.php


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 3 Messages

21 déc. 2010, 23:53

D'accord merci pour ce tutoriel et j'ai un autre petit probleme qui ce pose sur mon autre parti de code ...
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"/>
sur ma page dans la barre pour taper le texte de ma fonction login il m'affiche la fonction value, comment faire pour l'enlever ? merci :D

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 déc. 2010, 23:59

hum lit d'abord les tutos ce sera une bonne chose pour te rendre autonome

pour ne pas réafficher les valeurs du formulaire enlève la partie php !


@+
Il en faut peu pour être heureux ......