Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1090 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  secrutité : où mettre le htmlentities ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

secrutité : où mettre le htmlentities ?

n°2025013
domi_bu
Posté le 25-09-2010 à 08:21:27  profilanswer
 

Bonjour
 
Je voudrai sécuriser l'accès à mes données en utilisant le htmlentities. Toutes mes tables sont accessibles via des classes/méthodes. Et chaque méthode est appelée à partir des pages avec les bons paramètres.
 
Ce sont ces paramètres que je voudrai sécuriser. J'ai 2 solutions :
- soit je les sécurise dans ma page php et ainsi la classe reçoit des paramètres propres.
- soit je ne touche pas au code des pages et je sécurise ces paramètres dans mes classes.
 
Quelles est d'après vous la meilleure méthode ?
 
Dominique


---------------
Domi
mood
Publicité
Posté le 25-09-2010 à 08:21:27  profilanswer
 

n°2025021
flo850
moi je
Posté le 25-09-2010 à 10:06:11  profilanswer
 

lors de l'affichage
les autres parties du code n'ont pas a essayer de deviner si il faut faire un htmlentities , un json_encode ou un myslq_real_escape_string

Message cité 2 fois
Message édité par flo850 le 25-09-2010 à 10:22:33
n°2025256
esox_ch
Posté le 26-09-2010 à 20:52:08  profilanswer
 

flo850 a écrit :

lors de l'affichage  
les autres parties du code n'ont pas a essayer de deviner si il faut faire un htmlentities , un json_encode ou un myslq_real_escape_string


 
+1
 
Séparation des couches quoi :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2025264
masklinn
í dag viðrar vel til loftárása
Posté le 26-09-2010 à 22:21:54  profilanswer
 

flo850 a écrit :

lors de l'affichage


Pas mieux.
 
Une bonne solution (enfin ptet pas pour PHP mais bon...) c'est un langage de templating qui htmlencode tout par défaut, et te laisse marquer des chaînes/objets/impressions comme étant "safe" et à ne pas échapper.

esox_ch a écrit :

+1
 
Séparation des couches quoi :o


Au delà de ça, si tu le fais avant l'affichage et que tu stockes le résultat tu vas te retrouver avec un bordel monstre de trucs pouvant ou non être encodés, et ça va te pêter à la gueule.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2025303
esox_ch
Posté le 27-09-2010 à 08:45:54  profilanswer
 

masklinn a écrit :


Pas mieux.
 
Une bonne solution (enfin ptet pas pour PHP mais bon...) c'est un langage de templating qui htmlencode tout par défaut, et te laisse marquer des chaînes/objets/impressions comme étant "safe" et à ne pas échapper.


 
En effet, un peu comme dans les vrai langages/frameworks (genre Rails) :D. Par contre c'est vite la galère de se battre contre PHP pour le plier dans ce sens j'ai l'impression.


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2025306
masklinn
í dag viðrar vel til loftárása
Posté le 27-09-2010 à 08:55:31  profilanswer
 

esox_ch a écrit :

En effet, un peu comme dans les vrai langages/frameworks (genre Rails) :D. Par contre c'est vite la galère de se battre contre PHP pour le plier dans ce sens j'ai l'impression.


Bah je crois pas que tu puisses le faire si tu utilises PHP comme langage de templating (alors qu'il est fait pour, un peu). Mais si tu passes genre par Smarty, ça devrait être possible/supporté.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°2025307
esox_ch
Posté le 27-09-2010 à 08:58:45  profilanswer
 

En PHP la seule possibilité que je voies c'est de créer une classe qui vienne wrapper les strings [:spamafote].. Et même comme ça, ça sentira encore la bidouille


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2025312
flo850
moi je
Posté le 27-09-2010 à 09:16:24  profilanswer
 

sauf erreur , avec symfony, si tu utilises les helper, tout est encodés

n°2025318
esox_ch
Posté le 27-09-2010 à 09:39:54  profilanswer
 

flo850 a écrit :

sauf erreur , avec symfony, si tu utilises les helper, tout est encodés


 
C'est justement ça le problème. Si tu oublies un helper où que ce soit, tu risques de te faire injecter un joli XSS.
On avait le même soucis avec Rails (il fallait utiliser un helper "h" pour sécuriser) jusqu'à la sortie de Rails3, qui maintenant gère ça de manière intelligente :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2025326
masklinn
í dag viðrar vel til loftárása
Posté le 27-09-2010 à 09:55:33  profilanswer
 

esox_ch a écrit :


 
C'est justement ça le problème. Si tu oublies un helper où que ce soit, tu risques de te faire injecter un joli XSS.
On avait le même soucis avec Rails (il fallait utiliser un helper "h" pour sécuriser) jusqu'à la sortie de Rails3, qui maintenant gère ça de manière intelligente :o


[:romf]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
mood
Publicité
Posté le 27-09-2010 à 09:55:33  profilanswer
 

n°2025497
stef_dober​mann
Personne n'est parfait ...
Posté le 27-09-2010 à 21:13:54  profilanswer
 

perso je me suis fait un filtre paramétrable qui me code automatiquement tous les champs de ma DB en fonction des paramètres d'entrée ou de sortie.
Ce filtre est placé dans mon MultiactionContrôler d'utiliser, de sauvegarder ou d'afficher les données.


---------------
Tout à commencé par un rêve...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  secrutité : où mettre le htmlentities ?

 

Sujets relatifs
Mettre gallery jQuery dans mon siteProblème de syntaxe. Mettre 2 classes pour une page
FPDF Mettre en gras un morceau de textePeut-on mettre du code html dans une base de donnée ?
XML - XSLT : mettre title dans imagefomulaire en POO? peut ton mettre du html[resolut]
Mettre une image à la place du texteMettre à jour une URL en temps réel selon ce qui est écrit ds 1 input
Dreamweaver : mettre une image de fond derriere un titre 
Plus de sujets relatifs à : secrutité : où mettre le htmlentities ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR