non a prioris c’est pas ca.
J’ai du y réfléchir quelques minutes.
Je sais pas comment preg_match fonctionne exactement.
Mais a mon avis, il prend le code du caractère a par exemple, et cherche dans la chaine s’il trouve le meme code (donc le meme caractère).
Mais tu utilises htmlentities !!!
En UTF-8, å a un certain code disons 2550 (c’est pas le bon ^^)
Lorsque tu applique la fonction htmlentities : å est transformé en : å (il faut donc coder le &, a, r, i, n, g et ; en UTF-8).
Donc la regex va chercher le code 2550 dans la chaine, mais il ne le trouvera pas (si mon raisonement est correct !), car å n’est plus dans la chaine !
Il y a donc différentes solutions : tu codes en UTF-8, vérifies les regex et ensuite seulement htmlentities, ou alors tu autorises & et ; dans la regex (mais bon alors tu controles plus grand chose … ).
Puis je te conseille aussi de vérifier la longueur des chaines, ainsi qu’une fonction qui vérifie qu’on tappe que des caractères (le nom ‘0’ passerait le test de ta regex … ).
alors auriez-vous une fonction pour moi, n’importe quel facon, pour que j’aille un filter sur mon input NOM,
dans le genre alphanumerique + accent. et - (tiret) espace la… dans le fond un bon filtre pour le Prenom et nom…
je lutilise de cette facon… et ma page est encoder en UTF-8
//POUR GARDER LES ACCENTS SUR L’AFFICHAGE
$nom = htmlentities(substr($_POST[‘field1’],0,100), ENT_QUOTES,“UTF-8”);
//ET JE FAIS MON TEXT SUR LA VARRIABLE POST AU LIEU DE CELLE FILTRER PAR HTMLENTITIES
if (alpha_numeric($_POST[‘field1’])==FALSE)
{
$errors[] = ‘NON’;
}
de cette facon tout fonctionne.
donc votre avis côté sécurité… ?
ce n’est pas moins sécurisé qu’avant!
la manipulation des données n’est pas le problème. c’est l’enregistrement et l’affichage qui sont problématiques.
D’ailleurs tu parles d’affichage, mais pense à bien filtrer avant enregistrement aussi! la première fois que je me suis intéressé à la sécurité des sites, j’ai essayé un peu d’injection sql sur un site que je venais de faire, et j’ai réussi à bousiller la moitié ma base! lol
je ne connais pas ton script, donc je ne peux pas te conseiller (je ne m’y connais de toute façon pas très bien niveau sécurité, je connais jute la base).
Je disais juste que si tu enregistre ces données, penses bien à filtrer avant l’enreg (htmlentities c’est dja pas mal) et pas uniquement avant affichage.
oki… je vais donc voir a sa :)… mais deja htmlentities enleve les quotes, sa aide deja a empecher les sql injection
. je suis aller sur youtube y voir des exploit de sa loll