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

Langage PHP Discussion :

Sécurisation du code


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Avril 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 2
    Par défaut Sécurisation du code
    Bonjour a tous Je m'adresse a vous car je suis dans la detresse. Cela fait quelques années que je fais des codes php et derniérement je n'arrete pas de subir des attaques sur mon site web. Je ne trouve pas de solution j'ai eu beau retourner le code compromis dans tous les sens.vu que ce code est le seul formulaire du site. Aidez moi je vous prie a trouver la faille!

    Voici mon code:


    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    </HEAD>
    <body>
     
    <?php
     
    // configs
    $hostname = "xxxxxxxxxx"; 
    $database = "xxxxxxxxxxxxx"; 
    $user = "xxxxxxxxxxx"; 
    $pass = "xxxxxx";
     
     
    if(isset($_POST['login']) && isset($_POST['passold']) && isset($_POST['char']) && strlen($_POST['login']) <= 16 && strlen($_POST['passold']) <= 16 && strlen($_POST['char']) <= 16) {
    	$connect = mysql_connect($hostname, $user, $pass);
    	mysql_select_db($database, $connect);
     
    	$logincheck = mysql_real_escape_string($_POST['login']);
     
    	$checkaccount = mysql_query("SELECT login FROM accounts WHERE login = '$logincheck'");
     
    	$checkexist = mysql_num_rows($checkaccount);
     
     
    	if($checkexist==0) 
    	{
    		echo 'Veuillez bien verifier vos informations (1).<br><br>';//erreur nom de compte
    	}
     
    	else {
    		function l2j_encrypt($password)
    		{
    			return base64_encode(pack("H*", sha1(utf8_encode($password))));
    		}
    		$login = mysql_real_escape_string($_POST['login']);
    		$passwold = mysql_real_escape_string($_POST['passold']);
     
    		$char = mysql_real_escape_string($_POST['char']);
    		$passwold = l2j_encrypt($passwold);
    		$checkpass = mysql_query("SELECT password FROM accounts WHERE login = '$login'");
     
     
     
    		while(list($passcorrect)=mysql_fetch_row($checkpass)) {
    			if($passwold!=$passcorrect) {
    				echo 'Veuillez verifier vos informations (2)<br><br>';//erreur mot passe
    			}
    			else {
     
    				$descnew = "<html><title>Description Personnage</title><body>".mysql_real_escape_string($_POST['descnew'])."</body></html>";
     
    				mysql_query("UPDATE characters SET char_desc = '$descnew' WHERE char_name = '$char'");
     
    			}
    		}
    	}
    } elseif (isset($_POST['submit'])) {
    	echo 'Vous n\'avez pas rempli tous les champs<br><br>';
    } else {
    echo 'Repmplissez le formulaire avant de changer de description.<br><br>';
    }
     
    if (isset($connect))
    {
    mysql_close($connect);
    }
     
    ?>
     
    <center>
    <table>
    	<form action="" method="POST">
     
    		<tr><td><td>Changement de description
    		<tr><td>Login: <td><input name="login" type="text" maxlength="16">
    		<tr><td>Mot de Passe: <td><input name="passold" type="password" maxlength="16">
    		<tr><td>Personnage: <td><input name="char" type="text" maxlength="16">
    		<tr><td>Description: <td><textarea name="descnew" type="textarea" rows="10" maxlength="450" id="memoria" cols="40"></textarea>
    		<tr><td><script>displaylimit("","memoria",450)</script>
    		<tr><td><td><input name="submit" type="submit" value="Valider">
    	</form>
    </table></center>
     
    </body></html>
    Merci d'avance!

  2. #2
    jnore
    Invité(e)
    Par défaut
    La discussion m'intéresse. je mimisce donc.

    Est-ce vraiment dans cette portion de script que le problème se passe?
    Quelle table est concerné par les delete?
    Est-ce la table qui contient les login et mot de passe?
    Est-ce une autre table?

    Y a t-il à un autre moment dans ses script un include qui se fait via l'url en GET?

    Autorise t-il des upload?

    Quelques indices supplémentaires seraient utiles...

    Si siccagm pouvait nous en dire plus.

Discussions similaires

  1. Comment sécuriser le code ?
    Par mappy dans le forum ASP.NET
    Réponses: 6
    Dernier message: 19/05/2007, 00h58
  2. Comment mieux sécuriser mon code ?
    Par bolo dans le forum ASP.NET
    Réponses: 17
    Dernier message: 11/05/2007, 07h05
  3. Sécurisation sources/code d'accès appli VBA Excel
    Par Pat_TOTO dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/09/2006, 17h39
  4. sécuriser le code source
    Par vlunder dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 07/08/2006, 10h51
  5. [Applet] Sécuriser un code d'accès
    Par le Daoud dans le forum Applets
    Réponses: 3
    Dernier message: 16/06/2006, 14h12

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