|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre chevronné
![]() Inscription : mars 2005 Messages : 1 667 ![]() |
Salut a tous,
je suis en train de me demander quelles sont les caractère a interdire lors de la saisi d'un nom d'utilisateur? (ps:je fait un stiptags avant) |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : août 2005 Messages : 361 ![]() |
tout depend de ce que tu en fais si tu veux l'afficher ou non.
en générale on le crypt en db. choisi plutot les caractere que tu utilises. car si tu tombe sur un utilisateur vicieux ;-) il peut tjrs utiliser l'ASCII pour rentrer des sigles "bizarre" £ô♂♪
__________________
Le but de tout developpeur OO est de devenir une référence. Mon avatar est un ambigramme, les curieux peuvent le retourner ;-) Aider <> Faire a la place de!!! |
|
|
00
|
|
|
#3 | |
|
Membre chevronné
![]() Inscription : mars 2005 Messages : 1 667 ![]() |
Citation:
Ca me dérange pas si les utilisateurs utilise des pseudo étrange (tant qu'il ne l'oublie pas ). |
|
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() Inscription : janvier 2004 Messages : 242 ![]() |
Citation:
|
||
|
|
00
|
|
|
#5 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Si tu es concerné par la sécurité, ce n'est pas seulement au niveau du login qu'il faut agir mais à chaque données utilisateur. En outre, il ne faudrait pas "interdire des chars" mais au contraire "autoriser une liste précise" au moyen de regex.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#6 | |
|
Membre éclairé
![]() Inscription : août 2005 Messages : 361 ![]() |
Citation:
__________________
Le but de tout developpeur OO est de devenir une référence. Mon avatar est un ambigramme, les curieux peuvent le retourner ;-) Aider <> Faire a la place de!!! |
|
|
|
00
|
|
|
#7 | |
|
Membre chevronné
![]() Inscription : mars 2005 Messages : 1 667 ![]() |
Citation:
Et je voulais savoir quel sont les caractères a enlevé (pour faire ma liste jsutement Par exemple phpbb autorise la pluspart des caractères. ( ( & ° $ ).... Ce qui est plus sympa pour personnaliser son pseudo. |
|
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Perso en Latin-1 j'autorise tout les caractères imprimables non blancs + l'espace (n° 32 => 126 et 161 => 255)
Bien sûr je prends garde aux injections SQL, et à l'affichage j'utilise htmlspecialchars( ). Y'a rien de pire que les sites qui refusent les pseudos contenant des é ou des . sans raison valable, en général je n'y remets jamais les pieds. |
|
|
00
|
|
|
#9 | ||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Je suis de l'avis de Séb, il n'y a pas vraiment de raison de supprimer des caractères du moment que tu prends garde aux injections, ce qui est réglé avec mysql_real_escape_string().
Si vraiment tu veux brider les cars autorisés, n'utilise pas une classe négative mais plutôt une liste blanche. Code :
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
||
|
|
00
|
|
|
#10 |
|
Membre émérite
![]() Inscription : février 2006 Messages : 840 ![]() |
A part le dièse, quel caractère pourrait poser problème ?
__________________
Consultant idéaliste. |
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() Inscription : juillet 2003 Messages : 1 005 ![]() |
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Membre émérite
![]() Inscription : février 2006 Messages : 840 ![]() |
Curieux. Si l'on filtre correctement les données de l'utilisateur comment les quotes et doubles quotes peuvent interférer dans une requête, ou dans un affichage ?
Pour les espaces je suis plus perplexe.
__________________
Consultant idéaliste. |
|
|
00
|
|
|
#13 |
|
Membre chevronné
![]() Inscription : mars 2005 Messages : 1 667 ![]() |
Non les espaces ca marche tres bien. (la preuce sur phpbb on peut se faire des pseudo avec des espaces.
POur ce qui est des ' et des " un addslashes et stipslashes suffit. Par contre, pour éviter les injection est-ce que stripstags suffit? |
|
|
00
|
|
|
#14 | ||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Citation:
Si les magic-quotes sont activées : faire un stripslashes( ) sur les éléments de $_POST Ensuite pour éviter toute injection SQL et échapper les ' et les " : mysql_real_escape_string( ) Tu ne devrais pas avoir besoin de addslashes( ). Citation:
Pour éviter d'interdire tout caractère imprimable j'utilise htmlspecialchars( ). => Ex : un user s'appele "<strong>", à l'affichage je fais : Code :
echo htmlspecialchars($nickname, ENT_QUOTES) ; Dans la source : <strong> => Pas de problème |
||
|
|
00
|
|
|
#15 |
|
Membre chevronné
![]() Inscription : mars 2005 Messages : 1 667 ![]() |
En gros pour etre serrain il faut faire un mysql_real_escape_string( ) à la saisie et un htmlspecialchars( ) à l'affichage et ca devrait être bon.
C'est bien ca? |
|
|
00
|
|
|
#16 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Pour être précis, htmlspecialchars() et htmlentities() ne font pas partie de la sécurité. C'est pour être content que tu les utilises, pour éviter des bugs d'affichage.
Sinon oui, pour être serein, mysql_real_escape_string() suffit. Pas besoin d'interdire des caractères.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#17 | |
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Citation:
|
|
|
|
00
|
|
|
#18 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Okay, je retire ce que j'ai dit plus haut.
Je ne suis pas un vicieux moi, je ne pense jamais à ces trucs-là...
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#19 |
|
Membre éclairé
![]() Inscription : août 2005 Messages : 361 ![]() |
juste pour vous prendre la tete ;-)
dans le cas ou vous transformez <strong> en <strong> je choisi le pseudo <<<<<<<<<<<<<<< car le formulaire me permet de rentrer x caracteres en base de données <<<<<<<<<< soit 4 fois plus de char c'est une bétise mais bon faut y penser.
__________________
Le but de tout developpeur OO est de devenir une référence. Mon avatar est un ambigramme, les curieux peuvent le retourner ;-) Aider <> Faire a la place de!!! |
|
|
00
|
|
|
#20 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Non, tu n'enregistres pas le htmlspecialchars(), tu l'affiches.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com