Résolu Unknown

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 493
Points
32 425
Ton pseudo est déjà utilisé...)

Tu n'as pas fait de requête SQL pour vérifier si le pseudo est pris donc il serait plus logique de dire "Ton pseudo contient des caractères incorrect", mais il y a plein de caractères bizarre donc je te conseille de faire autrement, et de vérifier si le pseudo contient uniquement des chiffres et des lettres :oui:

if($filtre_pseudo != $pseudo) {

Je suppose qu'elle vérifie si le filtre est différent du pseudo, mais je trouve ça un peu bizarre quand même comme filtrage
 

✝Chipeur

Lobby Call Of Duty / Gta5
Premium
Inscription
6 Août 2013
Messages
2 002
Réactions
646
Points
8 474
Je vais vous poser une dernière question je ses pas si on ma déjà répondu donc m’engueulez pas :(

Cette condition nous sert a quoi ?: if($filtre_pseudo != $pseudo) {
Car en message d'erreur j'ai mis (Ton pseudo contient des caractères non-autorisés !) donc j'aimerais savoir si je mais (Ton pseudo est déjà utilisé...) ou je mais la phrase du début.

Après vous m'avez tellement aider surtout j'ai appris pas mal en peu de temps :)
Non c'est $filtre_pseudo == $pseudo Maxime je pense ;)
Cette condition vérifie en gros "S'il n'y a pas de caractère incorrect alors"
 

✝Chipeur

Lobby Call Of Duty / Gta5
Premium
Inscription
6 Août 2013
Messages
2 002
Réactions
646
Points
8 474
Alors si j'ai une vérif SQL pour voir si le pseudo existe:
$selectuser = $bdd->prepare("SELECT id FROM users WHERE username = :username LIMIT 1");
$selectuser->execute(array(':username' => $pseudo));
$selectuser = $selectuser->rowCount();

Après le système de filtre je peux faire autrement mais moi simplement si une personne mais u @/!;? des caractères comme sa dans sont pseudo sa le bloque.
Tu as juste à mettre ceux que j'ai t'ai dit pour le filtre, sa fonctionnera c'est sûr ;)
Non c'est surtout les caractères comme "<>" Pour éviter d'ajouter du code dans la bdd
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 493
Points
32 425
Non les # @ ne bloquent pas :mmh: Sur mon site par exemple je bloque pas ça, <> # @ if suffit de mettre htmlspecialschars($pseudo); pour éviter une faille XSS, ton filtrage est inutile, et puis pour ta requête si le pseudo est déjà pris tu peux faire en une ligne

if($selectuser->rowCount() == 1)
{
c'est bon
}
 

✝Chipeur

Lobby Call Of Duty / Gta5
Premium
Inscription
6 Août 2013
Messages
2 002
Réactions
646
Points
8 474
Code:
<html>
<head>
</head>
<body>
  <form action="#" method="POST">
   <input type="text" name="pseudo">
   <input type="submit" name="submit">
</form>
  <?php
    if(isset($_POST["pseudo"]))
    {
      $pseudo=$_POST["pseudo"];
      $pseudofiltre=preg_replace("/[^a-z\d\-=\?!@:\.]/i", "", $pseudo);
      print "Pseudos: $pseudo</br>";
      print "Pseudos filtre: $pseudofiltre";
      if ($pseudo != $pseudofiltre) echo "Caractère incorrect";
      if ($pseudo == $pseudofiltre) echo "Tout les caractères sont correct";
    }
  ?>
</body>
</html>
Au pire je te conseille de tester le filtre a part je t'envoie le code que je t'ai fait au tout début ;)
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 493
Points
32 425
Donc pour toi mon système de filtre pseudo actuel est a chier en gros pour toi je devrais juste simplifier en filtrant (< et >)
Je vais voir pour le système de pseudo déjà pris :) en attendant

Oui déjà fait un système qui fonctionne, et tu pourras ajouter deux trois trucs après plutôt que de partir sur une base non fonctionnelle D:
 

✝Chipeur

Lobby Call Of Duty / Gta5
Premium
Inscription
6 Août 2013
Messages
2 002
Réactions
646
Points
8 474
Alors voila sa fonctionne niquel mais lorsque je rajoute les 2 filtres (email,pseudo) sa déconne donc sans filtre sa va pas être simple.
Concernant le problème de faille chaque apparition d'infos du membres crée ou modifiable sont htmlspecialchars pour éviter les mauvaises surprises mais bon je préfère avoir un système de filtre donc normalement sa fonctionne niquel :)

Mais il ne manque plu que le système de filtre donc as-tu un bon site ou autre ou je peux trouver ce que je souhaite comme filtre ?
Essaye le code que je t'ai envoyé
 

✝Chipeur

Lobby Call Of Duty / Gta5
Premium
Inscription
6 Août 2013
Messages
2 002
Réactions
646
Points
8 474
Oui j'obtiens quelques choses sauf que quand j'ai entré simplement Theo j'ai bien eu l'erreur (Pseudo déjà pris)
Et en bas :

Pseudos: Theo
Pseudos filtre: TheoTout les caractères sont correct
Non mais le code la tu dois l'essayer a part c'est juste pour que tu vois comment marche le filtre x)
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 493
Points
32 425
Alors voila sa fonctionne niquel mais lorsque je rajoute les 2 filtres (email,pseudo) sa déconne donc sans filtre sa va pas être simple.
Concernant le problème de faille chaque apparition d'infos du membres crée ou modifiable sont htmlspecialchars pour éviter les mauvaises surprises mais bon je préfère avoir un système de filtre donc normalement sa fonctionne niquel :)

Mais il ne manque plu que le système de filtre donc as-tu un bon site ou autre ou je peux trouver ce que je souhaite comme filtre ?

Nop je connais pas de site pour ça :x
 
Haut