Accueil > Forum > > > > Améliorer mon script d'inscription =)
Améliorer mon script d'inscription =)
mercredi 11 mai 2005 à 19:02:59 |
Améliorer mon script d'inscription =)

eltronchodiablo
|
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.");
mysql_select_db("formu_db");
$requete = "INSERT INTO joueurs (nick, guilde, faction, classe,
categorie) VALUES ('$nick', '$guilde', '$faction', '$classe',
'$categorie')";
mysql_query($requete);
//verif_mysql();
//echo ("<br> Votre candidature a bien été enregistrée");
?>
Comme vous le voyez il n'y a pas de système pour :
-empêcher une double inscription (2 fois le même nick)
-empêcher un spam du script (un robot qui inscrirait 90k persos à la minute)
-confirmer ou infirmer que l'inscription a bien été enregistrée
-signaler qu'un champ n'a pas été remplit et par la suite stoper le processus.
-s'identifier et modifier son inscription
Donc si vous avez des idées, conseils sur ces 4 petits points, ça me ferait très plaisir.
|
|
jeudi 12 mai 2005 à 09:26:41 |
Re : Améliorer mon script d'inscription =)

malalam
|
Réponse acceptée !
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)
S'identifier/Modifier : Va voir les sessions http://de3.php.net/session
|
|
jeudi 12 mai 2005 à 18:14:40 |
Re : Améliorer mon script d'inscription =)

Anthomicro
|
Réponse acceptée !
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 del'IP) empêcher la création d'un autre compte pendant une durée Xdéterminée (attention, l'utilisateur peut très bien supprimer cecookie). Pour les robots, je te conseille les scripts générant une imageaffichant un code, qui, si il n'est pas tapé, empêche l'inscription. a +
|
|
samedi 14 mai 2005 à 17:02:55 |
Re : Améliorer mon script d'inscription =)

eltronchodiablo
|
Merci à vous 2 =) Désolé pour le temps de réponse, mais j'ai eu quelques empêchements :/ voici donc le code complet de mon formulaire : (avec l'ajout de anthomicro qui ne marche pas ^^)
<html> <head> <title>Ajout d'un nouveau participant</title> </head> <body> <h1>Remplissez la fiche d'inscription</h1> <form method="POST" action="formu.php"> Nick : <input type="text" name ="nick" > <br> Guilde: <input type="text" name ="guilde" > <br> Faction : <select size="1" name="faction"> <option selected>Alliance</option> <option>Horde</option> </select> <br> Classe : <select size="1" name="classe"> <option selected>Chasseur</option> <option>Chaman</option> <option>Démoniste</option> <option>Druide</option> <option>Guerrier</option> <option>Mage</option> <option>Paladin</option> <option>Prêtre</option> <option>Voleur</option> </select> <br> Catégorie : <select size="1" name="categorie"> <option>56-60</option> <option>46-55</option> <option>40-45</option> </select> <br> <input type="submit" value = "Ajoutez moi" >
<?php
$db = mysql_connect("localhost", "root", ""); if (!$db) die("la connection au serveur MYSQL a échouée."); mysql_select_db("formu_db");
$r=mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM membres WHERE pseudo='$pseudo'")); if($r[0]==='0') {} else {echo 'Le pseudo existe déjà';}
$requete = "INSERT INTO joueurs (nick, guilde, faction, classe,categorie) VALUES ('$nick', '$guilde', '$faction', '$classe','$categorie')"; mysql_query($requete); //verif_mysql(); //echo ("<br> Votre candidature a bien été enregistrée");
?>
</form> </p> <p> </p> </body> </html>
|
|
samedi 14 mai 2005 à 17:32:56 |
Re : Améliorer mon script d'inscription =)

Anthomicro
|
MDR avant de faire un bête copier-coller regarde la requête que j'ai faite,j'ai nommée la table "membres" il faut adapter à ta table...
|
|
dimanche 15 mai 2005 à 00:26:07 |
Re : Améliorer mon script d'inscription =)
|
dimanche 15 mai 2005 à 00:27:02 |
Re : Améliorer mon script d'inscription =)

eltronchodiablo
|
lol chuis con, je sais pas pourquoi, mais j'étais persuadé que j'avais la même table =) doit être fatigué.
enfin bref, je vais renommer ça ^^
|
|
Cette discussion est classée dans : script, mysql, db, nick, inscription
Répondre à ce message
Sujets en rapport avec ce message
Authentification [ par gabsia ]
Salut J'ai un problème d'autentification: Je suis entrain de créer un site comme étant projet, Ce site dynamique : l'utilisateur doit s'y inscrire
Problème Mysql / while / do [ par OmbreNoir ]
Bonjour,Je m'explique,j'aimerais pouvoir avoir la position d'une table sans while ou do. En faite ma commande se fait comme ceci:[code]$db = mysql_con
Importation BDD MySQL [ par Thienou ]
Bonjour à tous,J'aimerais savoir comment importer une base de donnée enregistrée en .sql par un script php (donc pas de phpMyAdmin)Je n'ai pas trouvé
Problème connection BBD [ par Sniark ]
Bonjour,J'ai une bbd chez free, J'essaie de créer une page de création de compte, et j'ai toujours la même erreur qui revient...Warning: main() [funct
Prob classe SQL. [ par Aaron ]
Bonjour,Je viens de coder ce qui suit :class DB{var $NUM_ROW;var $RESULTS; function __construct($server, $db, $login, $pwd){ $this->CNX =
Verification pseudo MYSQL [ par poitierjohan ]
Bonjour,Voici un code que j'ai testé (pour un page web), mais celui-ci ne foncionne pas...En quoi consiste-t-il? Il devrait me vérifié si un pseudo es
Comment appeler une procedure stockees en PHP et retourner un parametre? [ par ed1982 ]
Bonjour a tous, Je voudrai savoir comment appeler une procedure stockee (Mysql) dans ma fonction php. J aimerai savoir comment retourner le parametr
Comment recuperer les informations generees par la procedure stockee (Mysql) dans un prog PHP [ par ed1982 ]
Bonjour,J ai un autre probleme qui ressemble au precedent. Comment recuperer les informations generees par la procedure stockee (Mysql) dans un prog P
comment faire une requete mysql ? [ par saibe ]
hello tout le monde !débutant en php et mysql je ne comprend po l'erreur de mon code :$mysql_host="localhost"; // le serveur$mysql_login=""; // le log
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani RE : GOOGLE MAPRE : GOOGLE MAP par inwebo
Cliquez pour lire la suite par inwebo
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|