Reklama

Zeszły tydzień, Feedly wprowadził kontrowersyjną nową „funkcję” - przejmowanie linków do kanałów w celu kradzieży ruchu od milionów blogerów.

Przekierowanie udostępnionych linków za pomocą Feedly do własnego widoku Feedly zamiast samego artykułu na oryginalnej stronie jest problemem dla twórców oryginalnych treści na wielu blogach. Powoduje to nie tylko utratę ruchu, ale jest także zwodnicze dla tych, którzy śledzą dany blog.

Oto pełna historia tego, dlaczego ludzie są źli i jak jeden bloger pomógł naprawić sytuację. Zagłębiam się również w ich kod źródłowy, aby pokazać, jak brudne są ich małe sztuczki.

Termin wymagalności kredytu:Czytnik cyfrowy było oryginalnym źródłem tych wiadomości - właśnie postanowiłem zbadać nieco dalej i zobaczyć dokładnie, co zamierzali.

Po pierwsze, Dobra Nowina

W chwili pisania tego tekstu zachowanie zostało nieco poprawione, dzięki czemu skrócone linki Feedly są rzeczywiście wysyłane na stronę autora, ale szybkie sprawdzenie Kod stanu HTTP 10 najlepszych stron internetowych z kodami błędów i rozwiązywaniem problemów Czytaj więcej

instagram viewer
ujawnił, że przekierowanie nie odbywało się w typowy sposób na poziomie serwera z przekierowaniem 301 lub 302 (200, które wysyła Feedly, oznacza „tak, mamy tę stronę, poczekaj”; 404 oznacza „nie znaleziono”; 301 oznacza „stałe przekierowanie do innego adresu URL; a 302 oznacza „tymczasowe przekierowanie”).

Oznaczało to, że przekierowanie odbywało się w JavaScript, więc chciałem dowiedzieć się więcej. Korzystanie z narzędzia do pobierania strony wiersza poleceń o nazwie kędzior, Udało mi się pobrać kod źródłowy przykładowego łącza Feedly do Techmeme.com, zanim nastąpiło przekierowanie (ponieważ CURL nie uruchomił JavaScript) - i ujawniło to kilka zaskakujących ciekawostek. Oto co znalazłem.

(Przesłałem pełne źródło tutaj jeśli chcesz rzucić okiem - poniżej zamieszczam tylko kilka interesujących fragmentów)

Niektóre osoby martwiły się konsekwencjami SEO polegającymi na tym, że ich treść została skradziona i ponownie opublikowana w innym miejscu; dobrą wiadomością jest to, że Feedly poprawnie ustawił rel = „kanoniczny” metatag instruujący Google, że wszystkie wartości linków powinny zostać przekazane na oryginalną stronę. Nie można jednak ustalić, czy zostało to dodane po rozpoczęciu reklamacji, czy było obecne od samego początku.

Rozbierają reklamy

W czym prawdopodobnie była nieudana próba skopiowania Funkcjonalność typu czytelności 6 zakładek, które zwiększą szybkość i wydajność surfowania po InternecieBookmarklety to mało podejrzani pomocnicy, którzy siedzą na pasku zakładek przeglądarki. W przeciwieństwie do zwykłych zakładek, nie archiwizują one adresów URL, a raczej bookmarklety to małe aplety Java z funkcją jednego kliknięcia. Istnieją setki ... Czytaj więcej , która sprowadza stronę do jej najważniejszych zasad, Feedly usunął wszystkie przyciski reklamowe, śledzenia i udostępniania społecznościowego, które mogły być osadzone w oryginalnym elemencie kanału. Oto pełna lista rzeczy, które są usuwane:


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”, „/ spons /”, „googlesyndication.com”, „/ pagead”, „/ adx”, „resources / feed-fb ”,„ asset / feed-tw ”,„ feedburner.com/~ff","gstatic.com","feedsportal.com ”]; 

Z jakiegoś powodu wyjmowanie przycisku „podaruj” wydaje się szczególnie szokujące.

Oni przechwytują linki

Dochodzimy do najpoważniejszego punktu, ponieważ Feedly nie tylko wycierał zawartość z Twojej witryny, ale także usuwał oryginalne przyciski społecznościowe i przepisywał metadane. Oznacza to, że gdy ktoś następnie udostępnił element, w rzeczywistości byłby udostępnianie linku Feedly, a nie oryginalnego postu. Każdy, kto kliknie ten link, przejdzie bezpośrednio do Feedly.

Zrzut ekranu zeskrobanej zawartości z TheDigitalReader
Zrzut ekranu zeskrobanej zawartości z TheDigitalReader

Więc o co możesz zapytać? Gdy post staje się wirusowy, może on przynieść ogromną korzyść danej witrynie - zwiększając liczbę wyświetleń strony i przychody z reklam oraz poszerzając grono odbiorców. Feedly wprost kradł tę konkretną korzyść z witryny, aby poszerzyć własną bazę użytkowników. Kod Feedly obejmował kontrole urządzeń mobilnych, które kierowałyby użytkowników na odpowiednią stronę sklepu z aplikacjami.

funkcja akcji (gdzie) { var actionName = "follow"; var url = " http://feedly.com/#" + encodeURIComponent („subskrypcja /” + 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: // szczegóły? id = com.devhd.feedly "; } _gaq.push (['_trackEvent', bucket (), actionName + "." + gdzie, feedInfo.id]); window.setTimeout (function () {document.location.href = url;}, 20); window.event.cancelBubble = true. window.event.stopPropagation (); window.event.preventDefault (); }

Nie tylko „ułatwiało to przeglądanie artykułu” - kradło ruch, było jasne i proste. To naprawdę nie jest fajne.

Ich pierwsza poprawka: A Hardcoded Exclusion List

Kiedy Digital Reader po raz pierwszy złożył skargę do Feedly, ich odpowiedzią było ponowne zakodowanie Javascript w celu włączenia Lista wykluczeń. Dosłownie dodali zaznaczenie do każdego linku Feedly, aby sprawdzić, czy był to element z Czytnika cyfrowego, a jeśli tak, aby ominąć przejęcie strony.


var siteExcludePatterns = ["/ TheDigitalReader /"]; funkcja powinnaExExludeSite (url)

Jest to oczywiście absolutnie niedorzeczny sposób - czy planowali dodać do tej listy w miarę upływu czasu i narzekać więcej blogerów?

Nate z The Digital Reader odpowiedział:

skąd bierzesz się, domagając się, abym zrezygnował z twojego porwania? To tak, jakby powiedzieć, że powinienem poprosić kogoś, żeby przestał mnie bić w portfel na twarz. A jednak uważasz, że to rozsądne?

Druga poprawka: szybki hack do obejścia całego kodu

Po tym, co mogę jedynie założyć, że przytłaczająca liczba skarg, które nastąpiły, dostosowała filtr przechwytywania w następujący sposób:

if (kind == "częściowo" || shouldExcludeSite (" http://www.techmeme.com/131202/p30#a131202p30" ) || prawdziwe ) { document.body.innerHTML = ""; document.location.href = " http://www.techmeme.com/131202/p30#a131202p30"; }

„Częściowe” odnosi się do zeskrobanej zawartości jako pełnego lub częściowego kanału - nie ma sensu przechwytywać kanałów, które mimo wszystko publikują tylko fragment. Przypuszczalnie ta funkcja zaczęła się jako jedyna kontrola, która miała miejsce przy wyborze, czy wysłać użytkownika do oryginalnej witryny, czy nie. Po tym można zobaczyć pierwszą poprawkę, która wywołuje funkcję sprawdzania, czy ta witryna znajduje się na liście witryn, które zrezygnowały; ale potem widzimy ich ostateczną poprawkę na miejscu -


|| prawdziwe.

Jeśli masz jakieś doświadczenie w programowaniu, rozpoznasz szybki hack, który mówi „następujący kod zawsze będzie uruchamiany” i zwykle jest używany tylko podczas debugowania. Jeśli którykolwiek z tych 3 warunków jest spełniony (pierwsze dwa nie mają już znaczenia), Feedly natychmiast przekierowuje użytkowników do oryginalnej witryny.

I tak to teraz wygląda. Czego się nauczyliśmy?

Zasadniczo Feedly starał się stworzyć rodzaj uproszczonego czytania, ale sposób, w jaki działali it - przepisywanie linków w celu propagowania własnej usługi poprzez kolejne akcje społecznościowe było dość cholerne obrzydliwy. To nie jedyny zły ruch, jaki ostatnio zrobił Feedly - oni w zeszłym miesiącu zaczął wymagać logowania na kontach Google+ (ujrzawszy jak dobrze działa logowanie Google+ dla YouTube Sekcja komentarzy YouTube została teraz oczyszczona, dzięki uprzejmości Google+Google oczyściło YouTube za pomocą nowego systemu komentowania opartego na Google+. Zobaczysz teraz najbardziej uprzywilejowane komentarze od osób z Twoich kręgów Google+ i od właściciela filmu. Czytaj więcej , Jak sądzę), ale to też zostało szybko cofnięte. Lekcja jest taka - możesz zacząć szukać alternatywny czytnik kanałów Zbliża się koniec czytelników Google: przygotuj się na te alternatywne czytniki RSSCzytnik Google nie działa. Do lipca główna internetowa usługa RSS zostanie zamknięta na zawsze, pozostawiając użytkownikom samodzielne znalezienie zastępcy. Jeśli szukasz odpowiednika Google, to tylko ... Czytaj więcej , chyba że już przyłapano Cię na płaceniu 99 USD za konto Pro.

James ma licencjat z zakresu sztucznej inteligencji i jest certyfikowany przez CompTIA A + i Network +. Jest głównym programistą MakeUseOf i spędza wolny czas grając w paintball VR i gry planszowe. Buduje komputery od dziecka.