securiser un champ de formulaire

Eléphant du PHP | 372 Messages

29 janv. 2015, 22:56

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

ViPHP
xTG
ViPHP | 7331 Messages

30 janv. 2015, 15:27

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().

ViPHP
ViPHP | 928 Messages

30 janv. 2015, 16:06

htmlspecialchars() est suffisant pour protéger des XSS.

Mammouth du PHP | 2278 Messages

30 janv. 2015, 21:08

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.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD