Feedly volait votre contenu - Voici l’histoire et son code

  • Owen Little
  • 0
  • 1851
  • 402
Publicité

La semaine dernière, Feedly a dévoilé un nouveau produit controversé “fonctionnalité” - détournant des liens de fil pour voler le trafic de millions de blogueurs.

La redirection de liens partagés avec Feedly vers la propre vue de l'article sur l'article au lieu de l'article lui-même sur le site d'origine inquiète les créateurs de contenu d'origine dans de nombreux blogs. Cela entraîne non seulement une perte de trafic, mais est également trompeur pour ceux qui suivent un blog en particulier.

Voici le récit complet des raisons pour lesquelles les gens sont en colère et comment un blogueur a aidé à redresser la situation. Je m'intéresse également à leur code source pour vous montrer à quel point leurs petites astuces sont sales..

Crédit dû: Le lecteur numérique était la source originale de cette nouvelle - je viens de décider d’enquêter un peu plus loin et de voir exactement ce qu’ils faisaient..

Tout d'abord, la bonne nouvelle

Au moment de la rédaction du présent document, le comportement a été quelque peu corrigé, de sorte que des liens raccourcis Feedly sont effectivement envoyés sur le site de l'expéditeur, mais un examen rapide du code d'état HTTP 10 principaux sites Web pour les codes d'erreur et dépannage 10 principaux sites Web pour les codes d'erreur et Le dépannage a révélé que la redirection n’était pas effectuée de la même manière que le niveau serveur avec une redirection 301 ou 302 (200, que Feedly envoie, signifie “Oui, nous avons cette page, attendez”; 404 signifie “pas trouvé”; 301 signifie “redirection permanente vers une autre URL; tandis que 302 signifie “redirection temporaire”).

Cela signifiait que la redirection était effectuée en JavaScript, je voulais donc en savoir plus. À l'aide d'un outil d'extraction de page Web en ligne de commande appelé curl, j'ai pu récupérer le code source d'un exemple de lien Feedly vers Techmeme.com avant la redirection (car CURL n'exécutera pas JavaScript) - et il a révélé des informations surprenantes. Voici ce que j'ai trouvé.

(J'ai téléchargé la source complète ici si vous souhaitez jeter un coup d'œil - je ne présente que quelques extraits intéressants ci-dessous)

Certaines personnes s'inquiétaient des conséquences, en termes de référencement, de voir leur contenu volé et republié ailleurs; La bonne nouvelle est que Feedly a correctement réglé le rel =“canonique” balise méta pour indiquer à Google que toutes les valeurs de lien doivent être transmises au site d'origine. Cependant, il est impossible de déterminer si cela a été ajouté après le début des plaintes ou s'il était présent depuis le début..

  

Ils sont décapants

Dans ce qui était probablement une tentative malavisée de dupliquer une fonctionnalité de type Lisibilité 6 Signets favorisant la vitesse et la productivité de votre navigation sur le Web 6 Signets favorisant la vitesse de navigation et la productivité de votre Web, les signets sont des petits assistants peu propices placés dans la barre de favoris de votre navigateur. Contrairement à vos favoris, ils n'archivent pas d'URL. Les bookmarklets sont plutôt de petites applets Java avec une fonctionnalité en un clic. Il y a des centaines de…, qui enlèvent une page à son contenu essentiel, Feedly supprimait tous les boutons de publicité, de suivi et de partage social éventuellement intégrés dans l'élément de fil d'origine. Voici la liste complète des choses à éliminer:

 var visualExcludePatterns = ["feedproxy", "feedburner", "/ ~", "feeds.wordpress.com", "stats.wordpress.com", "googleadservices.com", "feedads", "tweet-this", " fmpub "," - ads "," _ ads "," pheedo "," zemanta "," u.npr.org/iserver","openx.org","slashdot-it","smilies","/ico- "," commindo-media.de "," creatives.commindo-media "," doubleclick.net "," i.techcrunch "," adview "," / feed.gif ",". ads. "," / avw .php”,"wp-digg-this", "feed-injector", "/ plugins /", "tweetmeme.com", "_ icon _" "," / ad - "," share-buttons "," feedsportal.com "," buysellads " "," holstee "," musictapp "," / ad _ "," / button / "," donate.png "," / sponsors / "," googlesyndication.com "," / pagead "," / adx "," assets / feed-fb "," assets / feed-tw "," feedburner.com/~ff","gstatic.com","feedsportal.com "]; 

Sortir un “faire un don” bouton semble particulièrement irritant, pour une raison quelconque.

Ils détournent des liens

Nous arrivons au point le plus grave: non seulement Feedly effaçait le contenu de votre site, mais en plus, ils supprimaient tous les boutons sociaux originaux et réécrivaient les métadonnées. Cela signifie que lorsque quelqu'un partagerait ultérieurement l'élément, il serait en fait partage du lien Feedly et non du message d'origine. Toute personne qui clique sur ce lien ira directement à Feedly.

Capture d'écran du contenu gratté de TheDigitalReader

Alors quoi, vous pourriez demander? Lorsqu'un message devient viral, le site en question peut en retirer un avantage considérable: il peut générer des consultations de pages, générer des revenus publicitaires et élargir son audience. Feedly était en train de voler cet avantage spécifique au site pour étendre sa propre base d'utilisateurs. Le code Feedly comprenait des contrôles pour les appareils mobiles qui dirigeraient les utilisateurs vers la page de l’appstore correspondante..

 action de fonction (où) var actionName = "follow"; var url = "http://feedly.com/#" + encodeURIComponent ("subscription /" + feedInfo.id); if (/iPhone|iPad/i.test (navigator.userAgent)) actionName = "install"; url = "http://itunes.apple.com/us/app/feedly/id396069556";  else if (/android/i.test (navigator.userAgent)) actionName = "install"; url = "marché: // détails? id = com.devhd.feedly";  _gaq.push (['_trackEvent', bucket (), actionName + "." + where, feedInfo.id]); window.setTimeout (function () document.location.href = url;, 20); window.event.cancelBubble = true window.event.stopPropagation (); window.event.preventDefault (); 

Ce n'était pas “juste pour rendre l'article plus facile à voir” - c'était voler du trafic, pur et simple. C'est vraiment pas cool.

Leur premier correctif: une liste d'exclusion codée en dur

Lorsque le lecteur numérique s’est plaint à Feedly pour la première fois, sa réponse a été de recoder le code Javascript pour inclure un liste d'exclusion. Ils ont littéralement ajouté un chèque à chaque lien Feedly pour voir s’il s’agissait d’un élément du lecteur numérique et, le cas échéant, pour contourner le détournement de page..

 var siteExcludePatterns = ["/ TheDigitalReader /"]; fonction shouldExcludeSite (url) 

C’est bien sûr une façon absolument ridicule de le faire - s’ils prévoyaient d’ajouter à cette liste au fil du temps et que de plus en plus de blogueurs se seraient plaints?

Nate de The Digital Reader a répondu:

Où parvenez-vous à exiger que je renonce à votre détournement? C'est comme dire que je devrais demander à quelqu'un d'arrêter de me frapper dans le portefeuille. Et pourtant, vous pensez que c'est raisonnable?

Leur deuxième solution: un piratage rapide pour contourner tout le code

Après ce que je ne peux que supposer, un nombre considérable de plaintes ont suivi, ils ont ajusté le filtre de piratage comme suit:

 if (kind == "partial" || devraitExcludeSite ("http://www.techmeme.com/131202/p30#a131202p30") || true) document.body.innerHTML = ""; document.location.href = "http://www.techmeme.com/131202/p30#a131202p30"; 

“Partiel” fait référence au contenu gratté en tant que flux complet ou partiel - il est inutile de détourner des flux qui ne publient qu'un extrait, après tout. Vraisemblablement, cette fonction a été à l’origine la seule vérification effectuée lors du choix d’envoyer ou non l’utilisateur au site d’origine. Vous pouvez voir le premier correctif après cela, qui appelle la fonction pour vérifier si ce site est dans la liste des sites qui ont été désactivés. mais alors nous voyons leur solution finale en place -

 || vrai.

Si vous avez une expérience en programmation, vous reconnaîtrez le piratage rapide qui dit “le code suivant sera toujours exécuté”, et il est généralement utilisé uniquement dans le débogage. Si l’une de ces 3 conditions est vraie (les deux premières n’ayant plus d'importance), Feedly redirige instantanément les utilisateurs vers le site d'origine..

Et c'est là où ça se trouve maintenant. Alors qu'avons-nous appris?

En gros, Feedly a cherché à créer une sorte d’expérience de lecture allégée, mais la façon dont ils y sont parvenus - réécrire des liens pour propager leur propre service à travers des partages sociaux ultérieurs était vraiment dégoûtante. Ce n'est pas la seule mauvaise chose que Feedly ait faite récemment non plus - le mois dernier, ils ont commencé à exiger une connexion avec des comptes Google+ (après avoir constaté l'efficacité de la connexion à Google+ pour la section des commentaires de YouTube, maintenant nettoyée, avec la permission de Google+, la section de commentaires de YouTube maintenant. Nettoyé, avec la courtoisie de Google+ Google a nettoyé YouTube avec un nouveau système de commentaires qui s'appuie sur Google+. Vous verrez maintenant les commentaires les plus votés, ceux des personnes de vos cercles Google+ et du propriétaire de la vidéo. , mais cela aussi a été rapidement inversé. La leçon est la suivante: vous voudrez peut-être commencer à chercher un autre lecteur de flux La fin de Google Reader est proche: Préparez-vous avec ces lecteurs RSS alternatifs La fin de Google Reader est proche: Préparez-vous avec ces lecteurs de substitution RSS Google Reader est mort. En juillet, le premier service RSS d'Internet est en train de fermer pour toujours, permettant aux utilisateurs de trouver eux-mêmes un remplaçant. Si vous recherchez un équivalent de Google, ce ne sont que…, à moins que vous ne soyez déjà convaincu de payer 99 $ pour un compte Pro.




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.