tontof / kriss_feed

A simple and smart (or stupid) feed reader
281 stars 53 forks source link

Contenue de news dans le menu de gauche... #354

Open Nono-m0le opened 9 years ago

Nono-m0le commented 9 years ago

Alors celle-là, c'est du jamais vu :D J'ai ajouté ce flux : http://ontheroofs.com/feed/ et depuis, j'ai du contenu, à la place de la liste des flux...

tontof commented 9 years ago

Je viens d'ajouter http://tontof.net/feed/?currentHash=7rkryA#feed-7rkryA Son code est mal formaté du coup il ferme des balises et fait planter le graphisme de KrISS feed. En expanded ça bugge : http://tontof.net/feed/?currentHash=7rkryA&view=expanded Mais pas en liste : http://tontof.net/feed/?currentHash=7rkryA&view=list C'est donc de la faute du flux :-) Il faudrait appliquer un html purifier pour supprimer ce problème

Nono-m0le commented 9 years ago

cette article me fait la même chose : http://www.digitalmunition.me/?p=3314

tontof commented 9 years ago

C'est toujours le même problème. C'est de la faute de tes flux :-p Si tu veux les corriger tu peux essayer de remplace cette ligne: https://github.com/tontof/kriss_feed/blob/master/index.php#L2228

<?php echo $item['content']; ?>

par

<?php
$docItem = new DOMDocument();
$docItem->loadHTML(mb_convert_encoding($item['content'], 'HTML-ENTITIES', "UTF-8"), LIBXML_HTML_NOIMPLIED);
echo $docItem->saveHTML();
?>
Nono-m0le commented 9 years ago

Je vais essayer (à l'occas=si j'ai le temps), mais l'issue relevé ici, c'est surtout : Est-ce normal que le contenu d'un flux, altère mon lecteur RSS ? N'est-ce-pas une faille XSS ?

Je me dit que mon lecteur DOIT être indépendant du code qu'il lit ... D'ou peut-être l'idée de parser tout le contenu (surtout les valeurs html) et faire un check d'ouverture/fermeture ! Je préfère avoir l'un ou l'autre flux qui me marque "attention, flux incorrect, merci de lire l'article directement" plutot que me taper ce genre d'erreur, prendre peur, et risquer de perdre mes datas !

tontof commented 9 years ago

Ici ce n'est pas un problème XSS mais un problème lié à la validation html de tes flux. Il n'y a par contre aucun test effectué pour lutter contre les attaques XSS. Si le flux sur lequel tu es abonné contient du code javascript il sera exécuté comme si tu allais sur le site. En théorie il y a effectivement des risques mais de mon côté je pars du principe que les flux que je suis sont clean. Si tu as vraiment peur je pense que tu peux ajouter un code pour utiliser CSP pour filtrer le js http://www.w3.org/TR/CSP/ J'envisage une approche différente pour la suite de KrISS feed qui permettra de filtrer tout ça plus facilement et au choix mais je n'ai malheureusement pas le temps de m'en occuper pour le moment :-(