Page 1 sur 1

MDP PHP

Posté : 21 déc. 2010, 20:09
par bibi_6919
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

Re: MDP PHP

Posté : 21 déc. 2010, 21:35
par moogli
salut,

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


@+

Re: MDP PHP

Posté : 21 déc. 2010, 22:34
par Ryle
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 :))

Re: MDP PHP

Posté : 21 déc. 2010, 22:53
par bibi_6919
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 ?

Re: MDP PHP

Posté : 21 déc. 2010, 23:33
par moogli
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


@+

Re: MDP PHP

Posté : 21 déc. 2010, 23:53
par bibi_6919
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

Re: MDP PHP

Posté : 21 déc. 2010, 23:59
par moogli
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 !


@+