Le filtre HTML à tester

Le truc qui est en téléchargement sous le titre “RAM ptet défectueuse” avec le champignon de Mario :
1° comment on peut aider?
2° et qu’est ce qu’on fait des fichiers qui sont dans le zip???

(et autre question : y a plus moyen d’avoir un mail quand qq un répond à un thread?)
Ce message a été édité par tibo le 12/04/2003

[quote]Le truc qui est en téléchargement sous le titre “RAM ptet défectueuse” avec le champignon de Mario :
1° comment on peut aider?[/quote]En sachant programmer en C#, déjà … et en corigeant les bugs du fichier HtmlFilter.cs.
Cette classe sert à filtrer l’HTML qui est posté dans les forums (et surement aussi dans les news).

[quote]2° et qu’est ce qu’on fait des fichiers qui sont dans le zip???[/quote]Bah, il s’agit de la classe en question, ainsi qu’un exemple de test en ASP.net.

Je vais essayer de résumer les corrections a apporter, Glop corrigera si j’en oublie :

  • Troncature des mots trop long (et qui cassent le forum).
  • Les images encadrées par un lien ne sont pas redimentionnées
  • Forcer la taille si image non redimentionnable (erreur au redimentionnement...)
  • Modifs dans la gestion des
    et des (politique a voir avec Glop)
  • Sécurité (gestion des propriétés src et href dans les balises et a améliorer).

[quote][quote]Le truc qui est en téléchargement sous le titre « RAM ptet défectueuse » avec le champignon de Mario :
1° comment on peut aider?[/quote]En sachant programmer en C#, déjà … et en corigeant les bugs du fichier HtmlFilter.cs.
Cette classe sert à filtrer l’HTML qui est posté dans les forums (et surement aussi dans les news).

[/quote]ahah ! :stuck_out_tongue: Je ne connaissais pas le C# il y a 2 heures, j’ai installé visual C# à côté de mon visual C++, et, oh miracle, il y a un « petit » tut de présentation de la chose. J’en ai lu un bout, ça me paraît archi simple, tout du moins j’en ai suffisemment lu pour comprendre sans aucun pb le code du filtre html. Pour ce que j’en ai vu, le C# me paraît un langage enfantin, suffit de connaître la librairie qui va avec (là par contre, risque d’y avoir pas mal de choses à lire)

[quote][quote]2° et qu’est ce qu’on fait des fichiers qui sont dans le zip???[/quote]Bah, il s’agit de la classe en question, ainsi qu’un exemple de test en ASP.net.

Je vais essayer de résumer les corrections a apporter, Glop corrigera si j’en oublie :

  • Troncature des mots trop long (et qui cassent le forum).
[/quote]Ca se fait pas en 2 secondes ça ?? une regexp du style ([^w]{50,}), on récupère ainsi les mots de 50 lettre ou plus, puis boum on remplace par la chaîne coupée comme il faut (quitte à faire on explode le mot sur les , et autres. s'il y en a) [quote]
  • Les images encadrées par un lien ne sont pas redimentionnées
  • Forcer la taille si image non redimentionnable (erreur au redimentionnement...)
  • [/quote]A propos de ça, le principe est en effet pas mal, mais je me pose une question : comment vous faîtes pour ne pas avoir de timeout sur la page, ou, tout du moins, ne pas faire poireauter le mec qui poste le message pendant 2 ans ? Parce que, de ce que j'ai lu, l'image est d/ puis redimensionnée si besoin est. Mais, euh... Et si l'image fait 1Mo, et qu'il y en a 5 (genre pour le post du vendredi) ? On attends en face 5 minutes que le serveur ait eu le temps de d/ toutes les images ? Ah moins qu'un système de thread ait été mis en place, mais est-ce que créer des threads est, déjà, possible, en environnement web ? [quote]
  • Modifs dans la gestion des et des (politique a voir avec Glop)
  • [/quote]vi, à expliciter [img]style_emoticons/<#EMO_DIR#>/smile.gif[/img] [quote]
  • Sécurité (gestion des propriétés src et href dans les balises et a améliorer).
    • C'est quoi qui pose pb actuellement ?

      [quote]

      [quote]Le truc qui est en téléchargement sous le titre “RAM ptet défectueuse” avec le champignon de Mario :
      1° comment on peut aider?[/quote]En sachant programmer en C#, déjà … et en corigeant les bugs du fichier HtmlFilter.cs.
      Cette classe sert à filtrer l’HTML qui est posté dans les forums (et surement aussi dans les news).

      [quote]2° et qu’est ce qu’on fait des fichiers qui sont dans le zip???
      [/quote]Bah, il s’agit de la classe en question, ainsi qu’un exemple de test en ASP.net.

      Je vais essayer de résumer les corrections a apporter, Glop corrigera si j’en oublie :

      [quote]ahah ! :stuck_out_tongue: Je ne connaissais pas le C# il y a 2 heures, j’ai installé visual C# à côté de mon visual C++, et, oh miracle, il y a un « petit » tut de présentation de la chose. J’en ai lu un bout, ça me paraît archi simple, tout du moins j’en ai suffisemment lu pour comprendre sans aucun pb le code du filtre html. Pour ce que j’en ai vu, le C# me paraît un langage enfantin, suffit de connaître la librairie qui va avec (là par contre, risque d’y avoir pas mal de choses à lire)[/quote]yop, moi j’ai installé webmatrix, puisque je suis pauvre, et la doc en ligne est bel et bien présente et surtout complete.

      Sinon j’aimerai savoir si tout le filtre était bel et bien entièrement dans le fichier HtmlFilter.cs …

      :remouk

      [quote][quote]ahah ! :stuck_out_tongue: Je ne connaissais pas le C# il y a 2 heures, j’ai installé visual C# à côté de mon visual C++, et, oh miracle, il y a un « petit » tut de présentation de la chose. J’en ai lu un bout, ça me paraît archi simple, tout du moins j’en ai suffisemment lu pour comprendre sans aucun pb le code du filtre html. Pour ce que j’en ai vu, le C# me paraît un langage enfantin, suffit de connaître la librairie qui va avec (là par contre, risque d’y avoir pas mal de choses à lire)[/quote]yop, moi j’ai installé webmatrix, puisque je suis pauvre, et la doc en ligne est bel et bien présente et surtout complete.

      Sinon j’aimerai savoir si tout le filtre était bel et bien entièrement dans le fichier HtmlFilter.cs …

      :remouk[/quote]Waip, de toutes manières tout est dispo sur le site de microsoft, visual studio ou pas.
      Sinon, pour le filtre, bah regarde le source, tu te rendras bien compte qu’il est complet :stuck_out_tongue:

      Pour la Troncature, non, c’est pas fait en 2s, vu qu’il faut surtout pas tronquer les balises HTML, et tenir compte des
      .

      Enfin, c’est un poil plus délicat que ca en a l’air.
      Si tu veux t’en occuper, tu es le bienvenu.

      Pour le multithread, ouais, c’est surement fesable.
      Comment ? Vois avec glop, mais je crois qu’il va nous en parler.

      Par contre je ne pense pas qu’il s’en serve là, vu la BP dispo pour le serv.

      Pour la sécurité, on limite les protocoles dispo pour les liens et les images (http, ftp … et sans protocole - liens relatifs internes), pour éviter le javascript, IE interprete les trucs du genre : 

      Le probleme viens du regex de traitement des proprietes qui ne récupère pas correctement les valeurs des propriétés non quotées. Soluce : quoter toute les props des balises en post traitement (et récup un code HTML plus propre, au passage), ou modifier le regex.

      Mefiance, le C# est objet, contrairement au cpp qui est orienté objet. On peu faire pas mal de trucs bien crade en codant cpp style.

      Soyez simpa, avant de commencer quoique ce soit, prévenez soit Glop, soit moi. Je vous refiles mes coordonnées en PM.

      Ce message a été édité par Tzim le 12/04/2003

      [quote]
      Pour la Troncature, non, c’est pas fait en 2s, vu qu’il faut surtout pas tronquer les balises HTML, et tenir compte des
      .
      [/quote]Bof. Etant donné que le code actuel détecte les balises html, suffit de stocker dans une pile par exemple les zones qui ne sont pas des balises. ensuite, on dépile les zones de texte pur et on applique la regexp sur ces zones (faut partir de la fin sinon les index de position sont décalés)

      [quote]
      Enfin, c’est un poil plus délicat que ca en a l’air.
      Si tu veux t’en occuper, tu es le bienvenu.[/quote]Bah pour l’instant, j’ai légèrement un projet info à faire pour dans une semaine, y’a encore pas mal de boulot, ainsi qu’un “mini-proj” en fait assez long, à faire pour dans pas longtemps non plus Donc pour le moment, pas possible.

      [quote]
      Pour le multithread, ouais, c’est surement fesable.
      Comment ? Vois avec glop, mais je crois qu’il va nous en parler.

      Par contre je ne pense pas qu’il s’en serve là, vu la BP dispo pour le serv.[/quote]oh le bourrin

      [quote]Pour la sécurité, on limite les protocoles dispo pour les liens et les images (http, ftp … et sans protocole - liens relatifs internes), pour éviter le javascript, IE interprete les trucs du genre : 

      [/quote]Mouais, une histoire de regexp. Faut juste le faire de manière propre quoi, une autre classe ressemblant à filterHtml qui permet de définir les protocoles autorisés, et de virer le javascript.

      [quote]

      [/quote]qui a dis qu'ie c'était bien ? :P [quote] Le probleme viens du regex de traitement des proprietes qui ne récupère pas correctement les valeurs des propriétés non quotées. Soluce : quoter toute les props des balises en post traitement (et récup un code HTML plus propre, au passage), ou modifier le regex. " ([-w]+)(=w*(W+|""[^""]*""|'[^']*'))?" ne fonctionne pas ? (si je me gourre pas, à savoir que w est un espacement, et W un caractère affichable) [quote] Mefiance, le C# est objet, contrairement au cpp qui est orienté objet. On peu faire pas mal de trucs bien crade en codant cpp style.

      [/quote]Waip, mais je parlais d’algo plutôt

      [quote]" ([-w]+)(=w*(W+|""[^""]""|’[^’]’))?"
      ne fonctionne pas ? (si je me gourre pas, à savoir que w est un espacement, et W un caractère affichable)[/quote]Euh, ce serait pas plutôt s et S qui sont les espacement et non-espacement ?
      Car je crois que w et W réfèrent aux mots, enfin pour autant que je m’en rappelle…
      Ce message a été édité par xentyr le 13/04/2003

      [quote][quote]
      " ([-w]+)(=w*(W+|""[^""]""|’[^’]’))?"
      ne fonctionne pas ? (si je me gourre pas, à savoir que w est un espacement, et W un caractère affichable)[/quote]Euh, ce serait pas plutôt s et S qui sont les espacement et non-espacement ?
      Car je crois que w et W réfèrent aux mots, enfin pour autant que je m’en rappelle…
      Ce message a été édité par xentyr le 13/04/2003[/quote]Dans la doc php, w correspond à tout caractère qui n’est pas un caractère de “mot” , et W à tout caractère de “mot”. Donc W correspond bien à une lettre. Maintenant, je ne sais plus où il faut s’arrêter exactement pour un attribut html, mais remplacer mes W par des S ne serait pas faux
      (tout cela sous réserve que la syntaxe des regexps est identique en php et en C#, mais apparemment, ça ressemble plus que fortement)

      OK, alors pour moi disons que niveau regexp je pensais que c’était ça :
      w <=> [a-zA-Z0-9]
      W <=> [^a-zA-Z0-9]
      s <=> [
      f]
      S <=> [^
      f]

      Mais pfiou je peux me tromper, hein. Pourrais-tu me dire si ça correspond bien à la doc ? (Oui flemmard sur le coup car je vais me coucher now )

      [quote]OK, alors pour moi disons que niveau regexp je pensais que c’était ça :
      w <=> [a-zA-Z0-9]
      W <=> [^a-zA-Z0-9]
      s <=> [
      f]
      S <=> [^
      f]

      Mais pfiou je peux me tromper, hein. Pourrais-tu me dire si ça correspond bien à la doc ? (Oui flemmard sur le coup car je vais me coucher now
      Enfin, l’idée est là plutôt, il est fort possible qu’il y ait deux-trois caractères d’oubliés, le v par exemple

      ok c pas pour moi donc , je croyais qu’il fallait juste installer ces fichiers qq part et en faire le beta test…