eltronchodiablo
Messages postés4Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention15 mai 2005
-
11 mai 2005 à 19:02
eltronchodiablo
Messages postés4Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention15 mai 2005
-
15 mai 2005 à 00:27
Salut à tous !
J'ai fais un joli formulaire d'inscription à un tournoi et il marche
très bien, sauf que j'ai quelques difficultés à le rendre plus "sûr".
Pour le moment il ressemble à ça :
<?php
$db = mysql_connect("localhost", "root", "");
if (!$db) die("la connection au serveur MYSQL a échouée.");
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 12 mai 2005 à 09:26
Hello,
question securite, je m'inquieterais d'abord des injections sql.
Tu geres les echappements avec mysql_real_escape_string () dans ton formulaire d'inscription...?
Double inscription : bah, tu testes. Sinon tu as la clause DISTINCT, selon comment tu procedes.
Spam : tu peux essayer de recuperer le remote host, l'ip...si quelqu'un
vient s'inscrire plus de 2 ou 3 fois avec les memes valeurs, tu
bloques. Je ne sais pas si ce serait efficace, il y a sans doute plus
efficace.
Confirmer/Infirmer : la je ne vois pas trop le probleme ? Si ta requete
marche, tu fais echo 'Merci, votre inscription a bien ete prise en
compte'; ... ;-)
Signaler... : Ah, je me doutais que ton formulaire avait des
failles...file plutot ton formulaire et son traitement. Je ne vais pas
te faire un tuto ici ce serait un peu long :-( Mais en gros : un
formulaire bien fait comprend un bouton submit. Avant traitement, on
teste ce bouton submit, puis tous les champs du formulaire. (voir
fonctions isset (), empty ()...mysql_real_escape_string () j'insiste
lol)
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 12 mai 2005 à 18:14
Salut,
tout d'abord pour tester que le pseudo n'a pas été pris tu fais une requête de type SELECT sur ta table.
Exemple (en supposant que tes variables soient échappées) :
$r=mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM membres WHERE pseudo='$pseudo'"));
if($r[0]==='0')
{
//c'est bon
}
else
{
echo 'Le pseudo existe déjà';
}
Ensuite pour rendre encore plus sur, tu peux via cookie (en plus de
l'IP) empêcher la création d'un autre compte pendant une durée X
déterminée (attention, l'utilisateur peut très bien supprimer ce
cookie).
Pour les robots, je te conseille les scripts générant une image
affichant un code, qui, si il n'est pas tapé, empêche l'inscription.