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

  FORUM HardWare.fr
  Programmation
  Java

  proteger du texte dans un xml

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

proteger du texte dans un xml

n°1309393
milootoolo​o
Posté le 20-02-2006 à 00:44:25  profilanswer
 

Bonjour!!
 
Je fait un chat et le protocole est en xml. J'insere donc du texte des utilisateurs dans mon flux xml. Ya t'il une fonction qui protege ce texte pour eviter des injections xml?
 
Merci


Message édité par milootooloo le 20-02-2006 à 09:59:42
mood
Publicité
Posté le 20-02-2006 à 00:44:25  profilanswer
 

n°1309398
nraynaud
lol
Posté le 20-02-2006 à 01:04:12  profilanswer
 

ta bibliothèque de génération de XML doit le faire toute seule normalement

n°1309399
milootoolo​o
Posté le 20-02-2006 à 01:09:29  profilanswer
 

nraynaud a écrit :

ta bibliothèque de génération de XML doit le faire toute seule normalement


 
Ha.. c'est qu'en faite pour generer mon xml, je le genere pas vraiment.. je l'envoie comme ca, enfin c'est moi qui le construit. C'est grave?


Message édité par milootooloo le 20-02-2006 à 01:10:29
n°1309401
nraynaud
lol
Posté le 20-02-2006 à 01:13:21  profilanswer
 

oui, car une bibliothque ferait ça bien mieux que toi, entre autre à cause du problème que tu cites. (mais aussi pour l'encoding, la DTD etc.)

n°1309403
milootoolo​o
Posté le 20-02-2006 à 01:17:59  profilanswer
 

nraynaud a écrit :

oui, car une bibliothque ferait ça bien mieux que toi, entre autre à cause du problème que tu cites. (mais aussi pour l'encoding, la DTD etc.)


 
Ok, mais heu.. pour décoder, j'utilise SAX.. pour encoder.. t'a une idée de ce que je pourrais utiliser?
Encore merci.

n°1309410
nraynaud
lol
Posté le 20-02-2006 à 01:43:49  profilanswer
 

hum, je viens de regarder, sax ne fait que du parsing, et JAXP n'offre rien pour les étages de sortie ([:kiki])
il te reste donc DOM qui est chiant et JDOM qui se prétend moins chiant mais qui est une biblothèque externe.
 
Je dois t'avouer que je trouve ça très con de leur part de ne pas avoir fait une API symétrique de SAX pour l'output de XML

n°1309414
the real m​oins moins
Posté le 20-02-2006 à 01:45:58  profilanswer
 

y'a aussi dom4j :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1309415
the real m​oins moins
Posté le 20-02-2006 à 01:46:13  profilanswer
 

et xpp3 :o mais c'est pour l'élite ça :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1309469
milootoolo​o
Posté le 20-02-2006 à 09:54:04  profilanswer
 

Ha oui mais j'ai un ptit problème avec ca!
 
C'est que entre mes socket, je fait transiter des lignes (J'utilise la méthode getLine sur mon inputstream). Ca va me faire plein de lignes ca! Ya un moyen apres pour différencier deux envois de chaines séparés ou alors je dois re-bidouiller mon parseur pour qu'il puisse traiter plusieurs messages à la suite?


Message édité par milootooloo le 20-02-2006 à 10:03:37
n°1309529
nraynaud
lol
Posté le 20-02-2006 à 11:32:33  profilanswer
 

il ne faut pas envoyer des lignes !!!


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le 20-02-2006 à 11:32:33  profilanswer
 

n°1309557
milootoolo​o
Posté le 20-02-2006 à 12:37:33  profilanswer
 

Ok pour les lignes, ca ira je pense.
J'ai fai comme tu m'a dit. J'ai construit un arbre de ma requete xml, mais je ne trouve pas comment la transformer en string. (j'ai fait ca avec DOM). T'a une idée??

n°1310349
ChristianS​_
Posté le 21-02-2006 à 11:07:48  profilanswer
 

Je ne sais pas si y'a plus simple mais ça marche bien.
 

Code :
  1. public static String DOM2String(Document document)
  2.     {
  3.         try
  4.         {
  5.             Source source = new DOMSource(document);
  6.             StringWriter stringWriter = new StringWriter();
  7.             Result result = new StreamResult(stringWriter);
  8.             TransformerFactory factory = TransformerFactory.newInstance();
  9.             Transformer transformer = factory.newTransformer();
  10.             transformer.transform(source, result);
  11.             String strRetour = stringWriter.getBuffer().toString();         
  12.             stringWriter.close();
  13.             return strRetour;
  14.         }
  15.         catch (Exception e)
  16.         {
  17.             ....ERREUR....
  18.         }
  19.         return "";
  20.     }


 
Je pense que ça changeras pas ton probleme, parce que ton envoi dans le socket sera "en clair"  ( le texte du xml generé ).
Si j'ai bien compris, tu veux que le transfert sur le réseaux soit protegé ?
Le mieux est surement de crypter les envois, en cryptant la chaine XML avant de l'envoyer sur le réseau; et donc de la décrypter à la reception avant de parser le XML.
Un bon vieux cryptage XOR  (tres bas de gamme) pourrais faire l'affaire dans un premier temps...
 
[REFLECHISSEMENT]
ok, j'ai relus ton premier message, je n'avais donc pas bien compris - j'ai quand meme laissé mon texte, ça peut peut etre te donner une idée... -
 
Ton texte avec injection de xml devrait etre entre <![CDATA[....]]> dans le xml je pense, non ?
Sinon, tu peux toujours remplacer les > et < par d'autre caracteres dans le texte et les remettre à la reception.
 
[FIN-REFLECHISSEMENT]


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

  proteger du texte dans un xml

 

Sujets relatifs
Texte dans SWF externe invisible :(php texte bbcode et html
inserer texte gras dans champ de texteFormat d'une zone de texte : problèmes de caractères
Mettre le texte d'un mailto en gras[Access] Table avec texte attaché
un champ texte qui ne s'affiche pas ?????Texte d'aide
[css html] Selection texte et roulette > problèmes sous IE[PHP Centrer du texte dans une image GD
Plus de sujets relatifs à : proteger du texte dans un xml


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