Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/01/2012, 21h53   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 63
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 63
Points : 9
Points : 9
Par défaut securite faible d'une class

salut tt le monde :

j'ai prepare une class login pour l'utilisateur , d'apres qlq avis des amis sur le web presque tous parlent des erreur FATAL au niveau de securite alors je veux votre avis ,et si c'est vrai ,pouviez vous m'indequer les erreurs ,et si vous voulez bien m'aider a rendre mon code plus securisee merci voila mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
session_start();
 
class mysql{
 
		private $host="localhost";
		private $user="root";
		private $pass="";
		private $database="vv";
 
		function __construct(){
 
			mysql_connect($this->host, $this->user, $this->pass);
			mysql_select_db($this->database);
		}
 
		function sql(){
 
			$username=$_POST['nom'];
			$password=sha1($_POST['password']);
 
			$req="SELECT * FROM utilisateur WHERE nom='$username' AND password='$password'";
			$query=mysql_query($req);
			$rows=mysql_num_rows($query);
 
			if($rows==1){
 
			$_SESSION['username']="username";
			$_SESSION['password']="password";
			header("location:admin.php");
			}else{
			echo"il y a un erreur";
			}
 
		}
 
 
}
$use=new mysql;
$use->sql();
 
?>
salyiohh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2012, 23h29   #2
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
premiere remarque :
Code :
1
2
$username=$_POST['nom'];
$password=sha1($_POST['password']);
tu récupères tes variables sans les sécuriser...
deuxième remarque : tu fais appel à des variables POST dans ta classe, es tu sure de leurs existence quand tu instancies ton objet ? pourquoi ne pas les passer en paramètres à ta méthode sql() ?!
troisième remarque tant qu'à faire de l'objet utilise PDO plutôt que mysql.
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/01/2012, 05h40   #3
Membre éclairé
 
Inscription : juin 2007
Messages : 337
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 337
Points : 393
Points : 393
il semble compliqué de gérer une class BBD, avec un autoConstructeur gérant la liaison a la bdd.
__________________
Conception / Dev
ascito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2012, 22h19   #4
Invité régulier
 
Inscription : janvier 2011
Messages : 63
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 63
Points : 9
Points : 9
salut vorace
a vrai dire je suis presque NULL dans ce qui concerne la conception de la securite .
mais je veux comprendre une chose qu'on parle de la securite ,la on parle des menaces sur mon site web qui est heberger dans un server , vous voyez pas avec moi que cette tache de securite normalement c'est au server d'hebergement d'on se occuper??? parceque mes fichiers sont sur son disque dur ? oubien il y a des truc php (des fichier comme j ai entendu parle de shell.php) qui renvoi des donnees et des infos proprietaire de site web cible?
je sais pas si j'ai bien explique ca..
mais bon j'esperes comprendre comment profitant d'une syntaxe mal code pour avoir acces a des donnees prive et quels sont les risques?
une autre question :
vous m'avez dit :tu récupères tes variables sans les sécuriser...
pouviez vous me donner un exemple de securite de ces varaibles?
et merci
salyiohh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/01/2012, 22h58   #5
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
sécuriser variables POST et GET :
http://www.viaphp.net/portions/secur...es-get-et-post
sécurité :
http://www.elitwork.com/securite.html
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 09h41   #6
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 008
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 3 008
Points : 5 067
Points : 5 067
Question: pourquoi faire une classe MySQL quand il existe PDO ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h32.


 
 
 
 
Partenaires

Hébergement Web