IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Sécuriser ce script php


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Sécuriser ce script php
    Bonsoir à tous,

    J'ai un script php qui m'a demandé pas mal de temps à composer et qui me sert pour récupérer du contenu depuis ma bdd selon les mots clefs fourni en dans la barre d'adresses

    Malheureusement il n'est pas sécurisé à 100%

    J'aimerais savoir s'il y a une personne assez sympa pour m'aider à terminer ce script au niveau de la sécurité?

    J'ai pu faire une fonction avec quelques éléments qui permettent la protection des données :

    On m'a parlé de mysqli_connect ou PDO, malheureusement cela me complique une nouvelle fois la tâche. Comment pourrais-je adapté ce script à un mysqli_construct ou PDO?
    J'ai tenté certaines manipulations, mais j'ai à chaque fois des erreurs, pas très compréhensibles pour moi, je l'avoue.

    Voici le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     <?php
    function checkValues($value)
    {
    	 // fonction à utiliser contre les injections
     
    	 //Trim the value
    	 $value = trim($value);
     
    	// Stripslashes
    	if (get_magic_quotes_gpc()) {
    		$value = stripslashes($value);
    	}
     
    	 // Convertis les &lt;, &gt; etc. vers l'html normal
    	 $value = strtr($value,array_flip(get_html_translation_table(HTML_ENTITIES)));
     
    	 // Strip HTML Tags
    	 $value = strip_tags($value);
     
    	// Quote the value
    	$value = mysql_real_escape_string($value);
    	return $value;
     
    }	
     
        $db = @mysql_connect('localhost', 'root', '') or die(mysql_error());
        @mysql_select_db('basededonnees', $db) or die(mysql_error());
    	mysql_query("SET NAMES 'utf8'");
     
    $requete = checkValues($_REQUEST['url']);
     
    // il semblerait que cette partie là soit vulnérable
     
    $requete = mysql_query('SELECT * FROM table WHERE url="'.$_GET['url'].'"') or die(mysql_error());
     
    //On test s'il exists des dossiers pour l'id choisi.
     
    if(mysql_num_rows($requete)=='0'){
    //S'il y en a pas, on redirige
     header('Location: /siteweb/index.php');
     
    }else{
    //S'il y en a, alors on affiches les résultats.
    	//On parcours tous les résultats 
    	while($resultats = mysql_fetch_array($requete)){ 
     
    		//On affiches les résultats
    ?>
    <html>
    <head>
    </head>
    <body>
    <?php
     
    	}
    }
     
    // Deconnection de mysql
    mysql_close(); 
    ?>
    </body>
    </html>
    Merci !

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    tu te sert pas de $requete commence par là

  3. #3
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    De cette façon alors (si on se base sur mon exemple)?

    $requete = ('SELECT * FROM table WHERE url= "'.mysql_real_escape_string($_GET['url']).'"') or die(mysql_error());

Discussions similaires

  1. [PHP 5.4] Comment sécuriser appel d'un script PHP
    Par vince29 dans le forum Langage
    Réponses: 0
    Dernier message: 20/05/2014, 15h05
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. Script pour sécuriser une application PHP
    Par Alcius dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 01/07/2012, 01h40
  4. Pb d'execution de requete avec un script php
    Par ythierrin dans le forum Requêtes
    Réponses: 3
    Dernier message: 22/08/2003, 14h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo