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:
Merci d'avance!
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>
Partager