Advertentie

Vorige week, Feedly heeft een controversiële nieuwe "functie" uitgerold - feed-links kapen om verkeer van miljoenen bloggers te stelen.

Het omleiden van gedeelde links met Feedly naar Feedly's eigen kijk op het artikel in plaats van het artikel zelf op de originele site is een bron van zorg voor originele makers van inhoud op veel blogs. Het leidt niet alleen tot verkeersverlies, maar is ook misleidend voor degenen die een bepaalde blog volgen.

Hier is het volledige verhaal over waarom mensen boos zijn en hoe een blogger de situatie heeft verholpen. Ik verdiep me ook in hun broncode om je te laten zien hoe vies hun kleine trucjes zijn.

Te betalen krediet:De digitale lezer was de oorspronkelijke bron voor dit nieuws - ik besloot net wat verder te onderzoeken en precies te zien wat ze van plan waren.

Ten eerste The Good News

Op het moment van schrijven is het gedrag enigszins gecorrigeerd, zodat verkorte Feedly-links inderdaad naar de site van de maker worden gestuurd, maar een snel onderzoek van de

instagram viewer
HTTP-statuscode Top 10 websites voor foutcodes en probleemoplossing Lees verder bleek dat de omleiding niet op de typische manier op serverniveau werd gedaan met een omleiding 301 of 302 (200, die Feedly verstuurt, betekent "ja, we hebben die pagina, wacht even"); 404 betekent "niet gevonden"; 301 betekent "permanent omleiden naar een andere URL; terwijl 302 "tijdelijke omleiding" betekent).

Dit betekende dat de omleiding werd uitgevoerd in JavaScript, dus ik wilde meer weten. Met behulp van een opdrachtregelprogramma voor het ophalen van webpagina's Krul, Ik kon de broncode van een voorbeeld Feedly-link naar Techmeme.com ophalen voordat de omleiding plaatsvond (aangezien CURL JavaScript niet uitvoert) - en het onthulde een aantal verrassende weetjes. Dit is wat ik heb gevonden.

(Ik heb de volledige bron hier als je een kijkje wilt nemen - ik geef hieronder alleen een paar interessante fragmenten weer)

Sommige mensen maakten zich zorgen over de SEO-implicaties van het feit dat hun inhoud in feite wordt gestolen en elders opnieuw wordt gepubliceerd; het goede nieuws is dat Feedly de rel = "canonical" metatag om Google te instrueren dat alle linkwaarden aan de oorspronkelijke site moeten worden doorgegeven. Het is echter onmogelijk om na te gaan of dit is toegevoegd nadat de klachten begonnen of vanaf het begin aanwezig waren.

Ze strippen advertenties

In wat waarschijnlijk een misplaatste poging was om een Functionaliteit van het leesbaarheidstype 6 Bookmarklets die uw surfsnelheid en productiviteit op het web zullen stimulerenBookmarklets zijn niet-verdachte kleine helpers die in de bladwijzerbalk van uw browser zitten. In tegenstelling tot uw gewone bladwijzers, archiveren ze geen URL, maar zijn bookmarklets kleine Java-applets met één-klik-functionaliteit. Er zijn honderden ... Lees verder , die een pagina tot de kernbenodigdheden verwijdert, verwijderde Feedly alle advertenties, tracking- en social share-knoppen die mogelijk zijn ingesloten in het originele feeditem. Hier is de volledige lijst met dingen die worden uitgekleed:


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 "]; 

Het verwijderen van een donatieknop lijkt om de een of andere reden bijzonder vervelend.

Ze kapen links

Hier komen we bij het meest serieuze punt, want Feedly schraapte niet alleen de inhoud van uw site, ze verwijderden vervolgens alle originele sociale knoppen en herschreven de metadata. Dit betekent dat wanneer iemand het item vervolgens deelde, dit in feite ook zo zou zijn het delen van de Feedly-link en niet het originele bericht. Iedereen die op die link klikt, gaat rechtstreeks naar Feedly.

Screenshot van de geschrapte inhoud van TheDigitalReader
Screenshot van geschraapte inhoud van TheDigitalReader

Dus wat, vraag je je misschien af? Wanneer een bericht viraal gaat, kan het een enorm voordeel zijn voor de betreffende site: het verhogen van paginaweergaven en advertentie-inkomsten en het vergroten van hun publiek. Feedly stal ronduit dat specifieke voordeel weg van de site om het eigen gebruikersbestand uit te breiden. De Feedly-code bevatte controles voor mobiele apparaten die de gebruikers naar de relevante appstore-pagina zouden leiden.

functie actie (waar) { var actionName = "follow"; var url = " http://feedly.com/#" + encodeURIComponent ("abonnement /" + feedInfo.id); if (/iPhone|iPad/i.test (navigator.userAgent)) { actionName = "installeren"; url = " http://itunes.apple.com/us/app/feedly/id396069556"; } anders als (/android/i.test (navigator.userAgent)) { actionName = "installeren"; url = "market: // details? id = com.devhd.feedly "; } _gaq.push (['_trackEvent', bucket (), actionName + "." + where, feedInfo.id]); window.setTimeout (function () {document.location.href = url;}, 20); window.event.cancelBubble = waar. window.event.stopPropagation (); window.event.preventDefault (); }

Het was niet alleen 'het artikel gemakkelijker zichtbaar maken', het stal het verkeer, simpel en duidelijk. Dat is echt niet cool.

Hun eerste oplossing: een hardgecodeerde uitsluitingslijst

Toen The Digital Reader voor het eerst een klacht indiende bij Feedly, was hun antwoord om het Javascript opnieuw te coderen met een uitsluitingslijst. Ze voegden letterlijk een vinkje toe aan elke Feedly-link om te zien of het een item uit The Digital Reader was en zo ja, om de kaping van de pagina te omzeilen.


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

Dit is natuurlijk een absoluut belachelijke manier om dit te doen - waren ze van plan om naarmate de tijd verstreek aan die lijst toe te voegen en meer bloggers klaagden?

Nate van The Digital Reader reageerde:

waar kom je vandaan om te eisen dat ik me afmeld voor je kaping? Het is alsof je zegt dat ik iemand zou moeten vragen om me niet meer in de portemonnee te slaan. En toch denk je dat dat redelijk is?

Hun tweede oplossing: een snelle hack om alle code te omzeilen

Na wat ik alleen kon aannemen was een overweldigend aantal klachten dat volgde, pasten ze het kapingsfilter als volgt aan:

if (kind == "gedeeltelijk" || shouldExcludeSite (" http://www.techmeme.com/131202/p30#a131202p30" ) || waar) { document.body.innerHTML = ""; document.location.href = " http://www.techmeme.com/131202/p30#a131202p30"; }

'Gedeeltelijk' verwijst naar de geschraapte inhoud die een volledige of een gedeeltelijke feed is - het heeft geen zin om feeds te kapen die toch alleen een fragment publiceren. Vermoedelijk begon deze functie als de enige controle die plaatsvond bij het kiezen of de gebruiker wel of niet naar de oorspronkelijke site moest worden gestuurd. U kunt daarna de eerste oplossing zien, die de functie aanroept om te controleren of deze site voorkomt in de lijst met sites die zich hebben afgemeld; maar dan zien we hun laatste oplossing -


|| waar.

Als je enige programmeerervaring hebt, herken je de snelle hack met de tekst 'de volgende code wordt altijd uitgevoerd' en deze wordt meestal alleen gebruikt bij het opsporen van fouten. Als een van deze drie voorwaarden waar is (de eerste twee doen er niet meer toe), leidt Feedly de gebruikers onmiddellijk om naar de oorspronkelijke site.

En dat is waar het nu staat. Dus wat hebben we geleerd?

In feite creëerde Feedly een soort afgeslankte leeservaring, maar de manier waarop ze dat deden it - het herschrijven van links om hun eigen service te verspreiden via latere sociale shares was behoorlijk verdomd walgelijk. Dit is niet de enige slechte zet die Feedly onlangs heeft gedaan - vorige maand wel begon inloggen met Google+ accounts te vereisen (gezien hebben hoe goed Google+ inloggen werkt voor YouTube Het gedeelte met reacties van YouTube is nu opgeschoond, met dank aan Google+Google heeft YouTube opgeschoond met een nieuw door Google+ aangedreven reactiesysteem. Je ziet nu de meest geüpdatete reacties, die van mensen in je Google+ kringen en van de eigenaar van de video. Lees verder , Denk ik), maar ook dat werd snel teruggedraaid. De les is - misschien wil je beginnen met het vinden van een alternatieve feedreader Het einde van Google Reader is nabij: bereid u voor met deze alternatieve RSS-lezersGoogle Reader is dood. In juli wordt de belangrijkste RSS-service van internet voor altijd afgesloten, waardoor gebruikers zelf een vervanging moeten zoeken. Als u op zoek bent naar een equivalent van Google, zijn dit slechts ... Lees verder , tenzij je al was opgeslokt om $ 99 te betalen voor een Pro-account.

James heeft een BSc in Artificial Intelligence en is CompTIA A + en Network + gecertificeerd. Hij is de hoofdontwikkelaar van MakeUseOf en brengt zijn vrije tijd door met het spelen van VR paintball en bordspellen. Hij bouwt al pc's sinds hij een kind was.