PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 27-05-2016 23:35:33

drtgx
Membre
Inscription : 10-01-2015
Messages : 2

Evolution code version PHP

Bonjour, actuellement j'ai un site intranet, qui est stocké sur un serveur wamp, avec PHP version 5.4.3 . Je souhaiterais migrer sur PHP7.0, mais le code php de mon site est très très obselete. je recherche quelqu'un qui pourrait me ré-écrire ce morceau de code de ma page de login.php :



<?php

if(isset($_POST['submit']))
{
    $pseudo = htmlspecialchars(trim($_POST['pseudo']));
    $password = htmlspecialchars(trim($_POST['password']));

    if(empty($pseudo))
    {
        echo "<font color='red'>Veuillez saisir votre Nom d'utilisateur!<br/></font>";
    }
   
    else if(empty($password))
    {
        echo "<font color='red'>Veuillez saisir votre mot de passe!</font>";
    }
    else{

    mysql_connect('localhost','root','');
    mysql_select_db('matable');

    $password = md5($password);

    $login = mysql_query("SELECT * FROM usersite WHERE username='$pseudo'AND password='$password'");

    $rows = mysql_num_rows($login);
   
    if($rows == 1)
    {

        $_SESSION['pseudo'] = $pseudo;

        header('location:index.php');    

    }else echo "<font color='red'>Utilisateur, mot de passe!</font>";

    }
}

?>
 

Merci d'avance.


Hors ligne

#2 15-06-2016 09:40:16

ManicoW
Cowrespondant
Lieu : Tours
Inscription : 08-05-2009
Messages : 190
Site Web

Re : Evolution code version PHP

Bonjour,

Réécrire le code n'est pas trop dans l'objectif de ce forum.

Par contre nous pouvons donner des pistes. Dans ce code, il me semble que ce qui est vraiment obsolète, c'est l'utilisation des fonctions mysql, il faudrait utiliser soit les fonctions mysqli, soit PDO.

Au passage, la requête faite n'est pas un modèle de sécurité, en général il vaut mieux selectionner le mot de passe et le comparer dans le code php que dans le requête SQL, pour deux raisons :

- On est jamais certain que deux mots de passe différents ne donneront pas le même MD5, même si c'est très peu probable (le MD5 n'est d'ailleurs plus recommandé, plus assez sur)

- Si quelqu'un trouve le moyen de faire une injection dans la requête, il ne passera pas le test du mot de passe (même si le mieux, c'est de ne pas avoir d'injection !)

@+


la v2, c'est tabou, on en viendra tous a bout

Hors ligne

Pied de page des forums