Feedly hat Ihre Inhalte gestohlen - hier ist die Geschichte und ihr Code
Letzte Woche hat Feedly ein umstrittenes Neues ausgerollt “Merkmal” - Hijacking von Feed-Links, um den Verkehr von Millionen Bloggern zu stehlen.
Das Umleiten von freigegebenen Links mit Feedly zu Feedlys eigener Ansicht des Artikels anstelle des Artikels selbst auf der Originalseite ist ein Problem für die ursprünglichen Inhaltsersteller in vielen Blogs. Dies führt nicht nur zu Verkehrsverlusten, sondern ist auch für diejenigen, die einem bestimmten Blog folgen, trügerisch.
Hier ist die ganze Geschichte, warum die Leute wütend sind und wie ein Blogger dazu beigetragen hat, die Situation zu korrigieren. Ich gehe auch in ihren Quellcode ein, um zu zeigen, wie schmutzig ihre kleinen Tricks sind.
Kredit fällig: Der Digital Reader war die ursprüngliche Quelle für diese Nachrichten. Ich habe mich einfach dazu entschieden, etwas genauer zu untersuchen und genau zu sehen, was sie vorhatten.
Zuerst die gute Nachricht
Zum Zeitpunkt des Schreibens wurde das Verhalten etwas korrigiert, so dass gekürzte Feedly-Links tatsächlich an die Absenderseite gesendet werden. Eine kurze Überprüfung des HTTP-Statuscodes. Die 10 wichtigsten Websites für Fehlercodes und die Fehlerbehebung. Bei der Fehlerbehebung in Read More wurde festgestellt, dass die Weiterleitung nicht wie bei Servern mit 301 oder 302 durchgeführt wurde (200, was Feedly sendet, bedeutet “yep, wir haben diese Seite, warte”; 404 bedeutet “nicht gefunden”; 301 bedeutet “permanent auf eine andere URL umleiten; während 302 bedeutet “vorübergehende Weiterleitung”).
Dies bedeutete, dass die Umleitung in JavaScript ausgeführt wurde. Ich wollte mehr darüber erfahren. Mit einem Webbrowser zum Abrufen von Befehlszeilen namens curl konnte ich den Quellcode eines Beispiels für einen Feedly-Link zu Techmeme.com abrufen, bevor die Umleitung erfolgte (da CURL kein JavaScript ausführt). Dabei wurden einige überraschende Leckerbissen entdeckt. Hier ist was ich gefunden habe.
(Ich habe die vollständige Quelle hier hochgeladen, wenn Sie einen Blick darauf werfen möchten - ich habe hier nur einige interessante Ausschnitte.)
Einige Leute waren besorgt über die SEO-Auswirkungen, wenn der Inhalt grundsätzlich gestohlen und an anderer Stelle erneut veröffentlicht wurde. Die gute Nachricht ist, dass Feedly das richtig eingestellt hat rel =“kanonisch” Meta-Tag, um Google anzuweisen, dass alle Link-Werte an die ursprüngliche Website übergeben werden sollen. Es kann jedoch nicht festgestellt werden, ob diese nach Beginn der Beschwerden hinzugefügt wurde oder bereits vorhanden war.
Sie streifen Anzeigen ab
Bei einem vermutlich fehlgeleiteten Versuch, eine Lesbarkeitsart-Funktionalität zu duplizieren, sind 6 Bookmarklets das Surfen im Internet schneller und produktiver. 6 Bookmarklets, die das Web surfen schneller und die Produktivität. Bookmarklets sind unauffällige kleine Helfer, die sich in der Lesezeichenleiste Ihres Browsers befinden. Im Gegensatz zu Ihren normalen Lesezeichen archivieren sie keine URL, vielmehr sind Bookmarklets kleine Java-Applets mit einer Funktion mit einem Klick. Es gibt Hunderte… Lesen Sie mehr, was eine Seite auf das Wesentliche reduziert. Feedly entfernte alle Schaltflächen für Werbung, Tracking und Social Share, die möglicherweise in das ursprüngliche Feedelement eingebettet wurden. Hier ist die vollständige Liste der Dinge, die entfernt werden:
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 "];
A herausnehmen “spenden” Der Knopf scheint aus irgendeinem Grund besonders ärgerlich zu sein.
Sie entführen Links
Hier kommen wir zu dem ernsthaftesten Punkt, denn Feedly hat nicht nur den Inhalt von Ihrer Website gekratzt, sondern auch die ursprünglichen sozialen Schaltflächen entfernt und die Metadaten neu geschrieben. Dies bedeutet, dass wenn jemand das Objekt später geteilt hat, dies tatsächlich der Fall ist Teilen Sie den Feedly-Link und nicht den ursprünglichen Beitrag. Jeder, der auf diesen Link klickt, würde direkt zu Feedly wechseln.
Was könnte man fragen? Wenn ein Beitrag viral wird, kann dies für die betreffende Website von großem Nutzen sein - das Erhöhen von Seitenaufrufen und Anzeigenumsätzen und die Erweiterung ihrer Zielgruppe. Feedly hat diesen besonderen Vorteil aus der Site geklaut, um die eigene Benutzerbasis zu erweitern. Der Feedly-Code enthielt Überprüfungen für mobile Geräte, die die Benutzer auf die entsprechende Appstore-Seite leiten würden.
Funktion Aktion (wo) 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 = "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 = true window.event.stopPropagation (); window.event.preventDefault ();
Es war nicht “nur um den Artikel übersichtlicher zu machen” - es stahl den Verkehr, schlicht und einfach. Das ist wirklich nicht cool.
Ihr erster Fix: Eine hartcodierte Ausschlussliste
Als The Digital Reader sich zum ersten Mal bei Feedly beschwerte, reagierten sie mit der Umcodierung des Javascript in ein Ausschlussliste. Sie fügten jedem Feedly-Link buchstäblich einen Haken hinzu, um zu sehen, ob es sich um einen Artikel von The Digital Reader handelte, und falls ja, um die Seitenentführung zu umgehen.
var siteExcludePatterns = ["/ TheDigitalReader /"]; Funktion shouldExcludeSite (URL)
Dies ist natürlich eine absolut lächerliche Art und Weise, dies zu tun - hätten sie vorgehabt, diese Liste im Laufe der Zeit zu erweitern, und mehr Blogger beklagten sich?
Nate aus dem Digital Reader antwortete:
Woher kommst du und verlangst von mir, dass ich mich von deinem Hijacking distanziere? Es ist so, als würde ich sagen, dass ich jemanden fragen müsste, dass er aufhört, mich in die Brieftasche zu schlagen. Und doch hältst du das für vernünftig?
Ihr zweiter Fix: Ein schneller Hack, um den gesamten Code zu umgehen
Nachdem ich davon ausgehen konnte, dass es eine überwältigende Anzahl von Beschwerden gab, wurde der Hijacking-Filter wie folgt angepasst:
if (kind == "partiell" || shouldExcludeSite ("http://www.techmeme.com/131202/p30#a131202p30") || true) document.body.innerHTML = ""; document.location.href = "http://www.techmeme.com/131202/p30#a131202p30";
“Teilweise” bezieht sich darauf, dass der abgekratzte Inhalt ein vollständiger oder ein teilweiser Feed ist - es hat keinen Sinn, Feeds zu entführen, die nur einen Auszug veröffentlichen. Vermutlich begann diese Funktion mit der einzigen Prüfung, die bei der Auswahl, ob der Benutzer an die ursprüngliche Site gesendet werden soll, stattfand. Danach sehen Sie den ersten Fix, der die Funktion aufruft, um zu überprüfen, ob diese Site in der Liste der Sites aufgeführt ist, für die ein Opt-Out deaktiviert wurde. Aber dann sehen wir ihre endgültige Lösung -
|| wahr.
Wenn Sie Programmiererfahrung haben, erkennen Sie den schnellen Hack, der besagt “Der folgende Code wird immer ausgeführt”, und es wird normalerweise nur beim Debuggen verwendet. Wenn eine dieser drei Bedingungen erfüllt ist (die ersten beiden sind nicht mehr wichtig), leitet Feedly die Benutzer sofort zur ursprünglichen Site weiter.
Und hier steht es jetzt. Was haben wir gelernt??
Im Grunde hat Feedly eine Art abgespecktes Leseerlebnis geschaffen, aber die Art und Weise, wie sie es machten - das Umschreiben von Links, um ihren eigenen Dienst durch nachfolgende soziale Anteile zu verbreiten, war verdammt ekelhaft. Dies ist nicht der einzige schlechte Schritt, den Feedly in letzter Zeit gemacht hat - im letzten Monat mussten sie sich mit Google+ Konten anmelden (nachdem sie gesehen hatten, wie gut das Google+ Login für YouTube funktioniert. YouTube-Kommentarbereich jetzt aufgeräumt, mit freundlicher Genehmigung von Google+. YouTube-Kommentarbereich jetzt.) Aufgeräumt, mit freundlicher Genehmigung von Google+ Google hat YouTube mit einem neuen Google+ Kommentarsystem aufgeräumt. Sie sehen jetzt die am meisten überarbeiteten Kommentare, die von Personen in Ihren Google+ Kreisen und vom Eigentümer des Videos Vermutung), aber auch das wurde schnell umgekehrt. Die Lektion lautet: Vielleicht möchten Sie einen alternativen Feedreader finden. Das Ende von Google Reader ist nahe: Bereiten Sie sich mit diesen alternativen RSS-Lesern vor Das Ende von Google Reader ist nahe: Bereiten Sie sich mit diesen alternativen RSS-Readern vor Google Reader ist tot. Im Juli wird der führende RSS-Dienst des Internets für immer heruntergefahren, sodass Benutzer selbst einen Ersatz finden können. Wenn Sie nach einem Äquivalent zu Google suchen, sind dies nur… Lesen Sie mehr, es sei denn, Sie waren bereits dazu verurteilt, $ 99 für ein Pro-Konto zu zahlen.
Erfahren Sie mehr über: Feed Reader, FeedReader, RSS.