Page 1 sur 1

securiser un champ de formulaire

Posté : 29 janv. 2015, 22:56
par blinz
Salut j'utilise pdo et des requetes préparée pour que les utilisateur poste leur inscription

J'ai juste besoin de savoir si la syntaxe utilisé est la bonne sinon qu'elle est la correction à effectué, merci
 <input  type="text" name="nom_avata" placeholder="Votre personnage" value="<?php if(isset($_POST['nom_avata'])) echo htmlentities ($_POST['nom_avata']);?>" /></div> 
Ps: qu'elle est la différence entre htmlspecialchars et htmlentites.
Cordialement

Re: securiser un champ de formulaire

Posté : 30 janv. 2015, 15:27
par xTG
Extraits de la doc qui répondent à ta question :
htmlentities() est identique à la fonction htmlspecialchars(), sauf que tous les caractères qui ont des équivalents en entités HTML sont effectivement traduits.
Certains caractères ont des significations spéciales en HTML, et doivent être remplacés par des entités HTML pour conserver leurs significations. Cette fonction retourne une chaîne de caractères avec ces modifications. Si vous avez besoin que toutes les sous-chaînes en entrée qui sont associées à des entités nommées soient transformées, utilisez la fonction htmlentities().

Re: securiser un champ de formulaire

Posté : 30 janv. 2015, 16:06
par Genova
htmlspecialchars() est suffisant pour protéger des XSS.

Re: securiser un champ de formulaire

Posté : 30 janv. 2015, 21:08
par sirakawa
J'ai la flemme de résumer cet échange:
php-debutant/protection-formulaires-t272325.html
d'où il ressort que en allant vers la bdd c'est real_escape
avec pdo:
http://php.net/manual/en/pdo.prepare.php
http://php.net/manual/en/pdo.quote.php
avec mysqli:
http://php.net/manual/en/mysqli.real-escape-string.php
en venant de la Bdd c'est htmlentities.