sécurité un formulaire MP

sécurité un formulaire MP - PHP - Programmation

Marsh Posté le 27-11-2008 à 09:50:27    

Bonjour.
 
Auriez vous une page web à me conseiller, concernant les règles de sécurité pour la réalisation d'une messagerie privée style forum.
(j'ai programmé sur mon site internet un tel systeme de messagerie privée pour que les personnes communiquent en privé).
 
Quels sont les pieges à éviter? (supprimer tout ce qui contient code html?... ).
 
Merci d'avance, je n'ai pas grande notion de sécurité informatique.
 

Reply

Marsh Posté le 27-11-2008 à 09:50:27   

Reply

Marsh Posté le 27-11-2008 à 10:04:34    

Virer tout éventuel code Html contenu dans le message.
http://fr.php.net/htmlentities
fait ça très bien.
 
Les failles types XSS (->google) si tu permet aux utilisateurs de faire de la mise en forme via une syntaxe particulière.
 
Ensuite ya toutes les failles classiques, SQL Injection par exemple.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 27-11-2008 à 10:08:18    

Merci, je ne connaissais pas les injections SQL, j'ai trouvé des liens interessants à ce sujet, je vais les étudier.

Reply

Marsh Posté le 27-11-2008 à 11:22:13    

Après ya un minimum de base, pour que l'utilisateur ne puisse pas lire un MP dont l'ID ne lui est pas destiné ... mais indirectement ça revient aux injections SQL, à la récupération de variables, et à un code "logique".


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 27-11-2008 à 17:50:35    

°our supprimer le code HTML, il y a tout simplement strip_tags(), qui le supprime complètement. htmlentities() affichera le code HTML dans le message, ce qui risque de ne pas être terrible côté présentation.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 27-11-2008 à 17:53:56    

Parfois on peut avoir besoin de les utiliser donc les supprimer, c'est anti-ergonomique amha

Message cité 1 fois
Message édité par Profil supprimé le 27-11-2008 à 17:54:05
Reply

Marsh Posté le 27-11-2008 à 17:56:26    

Désolé mais c'est juste merdique à souhait comme solution...
Ok je m'emballe un peu pour rien, pardon.
 
Mais si je veux envoyer le message suivant à un utilisateur :
"Au fait, la balise <center> elle serait pas un peu dépréciée ?"
Qu'est ce qu'il va recevoir?


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 27-11-2008 à 18:08:50    

=> OWASP


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 27-11-2008 à 18:13:41    


 
Justement, strip_tags() permet d'autoriser certains tags, alors que htmlentities() va convertir tous les caractères sans se préoccuper de savoir si ce sont des balises ou pas, et sans possibilité d'autoriser certains tags.
 

dwogsi a écrit :

Désolé mais c'est juste merdique à souhait comme solution...
Ok je m'emballe un peu pour rien, pardon.
 
Mais si je veux envoyer le message suivant à un utilisateur :
"Au fait, la balise <center> elle serait pas un peu dépréciée ?"
Qu'est ce qu'il va recevoir?


 
Rien de merdique comme tu le dis, puisqu'on peut autoriser des balises. Perso, si quelqu'un envoie un message en pensant que les balises HTML vont être interprétées, je préfère avoir juste le texte plutôt que ceci :  
 

Citation :

Ceci est un phrase <font color="#ff0000"><big>haute en couleur</big></font><font color="#00D500">, car j'aime écrire des messages illisibles</font>


 
Et rien n'empêche d'ajouter une case "Convertir les balises HTML en texte" pour éviter qu'elles ne soient supprimées.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 27-11-2008 à 18:15:57    

non [:sadnoir]
On peut vouloir mettre toutes les balises possibles, regarde sur la catégorie HTML/CSS/Javascript, ce serait nul de ne pas pouvoir en mettre.
Surtout que tu ne peux pas savoir quels tags vont être utilisés

Reply

Marsh Posté le 27-11-2008 à 18:15:57   

Reply

Marsh Posté le 27-11-2008 à 18:24:14    

dans mon cas c'est du texte pur et brut, aucune mise en forme...  
 
je veux juste me prévenir des failles de sécurités au niveau de cette zone de saisie utilisateur.

Reply

Marsh Posté le 27-11-2008 à 18:25:55    

alors htmlspecialchars à l'affichage suffit ;)
et échappe tes données SQL aussi

Reply

Marsh Posté le 27-11-2008 à 18:27:56    

par "échapper" vous entendez appel à la fonction addslashes() ?

Reply

Marsh Posté le 27-11-2008 à 18:32:13    

ou mysql_escape_string() plutôt ou encore mieux l'utilisation de requêtes préparées.

Reply

Marsh Posté le 27-11-2008 à 18:34:16    

merci

Reply

Marsh Posté le 27-11-2008 à 18:49:48    


 
Comme l'a dit decomposee, dans son cas, c'est une question de sécurité uniquement. Il interdit l'utilisation des balises.  
Je propose une solution qui permet en plus de permettre de placer des balises en mode texte, et en plus, je me fais agresser par des personnes butées qui ne comprennent rien. De toute manière, il choisira ce qu'il veut !


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 27-11-2008 à 18:52:17    

aideinfo a écrit :


 
Comme l'a dit decomposee, dans son cas, c'est une question de sécurité uniquement. Il interdit l'utilisation des balises.  
Je propose une solution qui permet en plus de permettre de placer des balises en mode texte, et en plus, je me fais agresser par des personnes butées qui ne comprennent rien. De toute manière, il choisira ce qu'il veut !


 :non: tu n'es pas obligé de prendre un "ton" agressif. Enfin bon comme tu l'as dit il choisira mais je ne lui recommande pas strip_tags
 [:cosmoschtroumpf]  

Reply

Marsh Posté le 27-11-2008 à 19:07:34    

Si les MP sont censé contenir du texte brut (sans mise en forme) alors il faut qu'il les traite comme du texte brut sans altérer les messages. Pour ça le mieux reste encore "htmlentities" à l'affichage et "mysql_escape_string" (ou la fonction équivalente correspond au SGBD et à la librairie d'accès au SGBD choisit ou encore mieux les requêtes préparés) pour le stockage des données.
 
En utilisant "strip_tags" à l'affichage, on ferait disparaitre les balises html classique, tous les exemples de code php et comble du comble, ça éliminerait du texte dans tous les messages qui ont un bout de texte qui ressemble à de l'html ou à une balise php. En bref, ça n'est vraiment pas une solution dans le cas présent.


Message édité par omega2 le 27-11-2008 à 19:08:02
Reply

Marsh Posté le 27-11-2008 à 19:15:35    

ma crainte etait qu'une personne mal intentionnée, dans son texte brut, tape par exemple un lien html  IMG SRC  vers une image X, ou autre...  
apres tout ce qui est "injections" je n'y avais pas du tout pensé...
j'ai préféré poser la question car je ne suis pas au fait de tout ce qui peut etre faille au niveau d'un systeme de MP

Reply

Marsh Posté le 27-11-2008 à 20:54:25    

OWASP :fou:
 
PDO :fou: :fou:


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed