الإعلانات

الاسبوع الماضي، فيدلي طرح "ميزة" جديدة مثيرة للجدل - اختطاف روابط الخلاصة لسرقة حركة المرور من ملايين المدونين.

إعادة توجيه الروابط المشتركة مع Feedly إلى وجهة نظر Feedly الخاصة للمقالة بدلاً من المقالة نفسها على الموقع الأصلي هي مصدر قلق لمنشئي المحتوى الأصلي على العديد من المدونات. لا يؤدي فقط إلى فقدان حركة المرور ، ولكنه أيضًا خادع بالنسبة لأولئك الذين يتابعون مدونة معينة.

إليك القصة الكاملة عن سبب غضب الناس ، وكيف ساعد أحد المدونين على تصحيح الموقف. أتعمق أيضًا في شفرة المصدر الخاصة بهم لأظهر لك مدى قذارة حيلهم الصغيرة.

الرصيد المستحق:القارئ الرقمي كان المصدر الأصلي لهذه الأخبار - لقد قررت فقط إجراء مزيد من التحقيق ومعرفة ما الذي كانوا عليه بالضبط.

أولاً ، الأخبار السارة

في وقت كتابة هذا التقرير ، تم تصحيح السلوك إلى حد ما بحيث يتم بالفعل إرسال روابط Shortly القصيرة إلى موقع المنشئ ، ولكن فحص سريع لل رمز حالة HTTP أفضل 10 مواقع لرموز الخطأ واستكشاف الأخطاء وإصلاحها اقرأ أكثر كشفت أن إعادة التوجيه لم يكن يتم بطريقة مستوى الخادم النموذجي مع إعادة توجيه 301 أو 302 (200 ، التي يرسلها Feedly ، تعني "نعم ، لدينا هذه الصفحة ، انتظر" ؛ 404 تعني "غير موجود" ؛ 301 تعني "إعادة التوجيه بشكل دائم إلى عنوان URL آخر ؛ بينما 302 تعني "إعادة توجيه مؤقتة")

instagram viewer
.

هذا يعني أن إعادة التوجيه كانت تتم في جافا سكريبت ، لذلك أردت معرفة المزيد. باستخدام أداة جلب صفحة الويب سطر الأوامر تسمى لفة، تمكنت من الحصول على شفرة المصدر لنموذج رابط Feedly إلى Techmeme.com قبل حدوث إعادة التوجيه (نظرًا لأن CURL لن تنفذ جافا سكريبت) - وكشفت عن بعض الحكايات المدهشة. إليك ما وجدته.

(لقد قمت بتحميل مصدر كامل هنا إذا كنت ترغب في إلقاء نظرة - سأعرض فقط بعض المقتطفات المثيرة للاهتمام أدناه)

كان بعض الناس قلقين بشأن آثار تحسين محركات البحث على سرقة محتواهم وإعادة نشره في مكان آخر. والخبر السار هو أن Feedly ضبط بشكل صحيح rel = "canonical" علامة وصفية لإرشاد Google بأنه يجب تمرير جميع قيم الارتباطات إلى الموقع الأصلي. ومع ذلك ، من المستحيل التأكد مما إذا تمت إضافة هذا بعد بدء الشكاوى أو كان موجودًا منذ البداية.

إنها تجريد الإعلانات

في ما كان على الأرجح محاولة خاطئة لتكرار أ وظائف نوع القراءة 6 إشارات مرجعية ستعزز سرعة تصفح الويب والإنتاجيةالإشارات المرجعية هي مساعدين صغار غير مشتبهين يجلسون في شريط الإشارات المرجعية في متصفحك. على عكس الإشارات المرجعية العادية ، فإنها لا تقوم بأرشفة عنوان URL ، بل إن العلامات المرجعية هي تطبيقات جافا صغيرة ذات وظيفة بنقرة واحدة. هناك المئات من ... اقرأ أكثر ، التي تجرد الصفحة من أساسياتها الأساسية ، كانت Feedly تجرد جميع أزرار الإعلانات والتتبع والمشاركة الاجتماعية التي ربما تم تضمينها في عنصر الخلاصة الأصلي. إليك القائمة الكاملة للأشياء التي يتم إزالتها:


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 - "،" أزرار المشاركة "،" feedsportal. com "،" buysellads "، "holstee" و "musictapp" و "/ ad _" و "/ button /" و "donate.png" و "/ Sponsors /" و "googlesyndication.com" و "/ pagead" و "/ adx" و "asset / feed-fb "،" asset / feed-tw "،" feedburner.com/~ff"،"gstatic.com"،"feedsportal.com "] ؛ 

يبدو أن أخذ زر "تبرع" مقلق بشكل خاص ، لسبب ما.

إنها روابط خطف

نأتي هنا إلى النقطة الأكثر خطورة ، حيث لم يقتصر الأمر على حذف المحتوى من موقعك من Feedly فحسب ، بل قاموا أيضًا بتجريد أي أزرار اجتماعية أصلية وإعادة كتابة البيانات الوصفية. هذا يعني أنه عندما يشارك شخص ما العنصر لاحقًا ، فسيكون كذلك في الواقع مشاركة رابط Feedly وليس المنشور الأصلي. أي شخص ينقر على هذا الرابط سيذهب مباشرة إلى Feedly.

لقطة شاشة للمحتوى المسروق من TheDigitalReader
لقطة شاشة للمحتوى المسروق من القارئ الرقمي

ماذا، قد تسأل؟ عندما تنتشر إحدى المشاركات على نطاق واسع ، قد يكون لها فائدة كبيرة للموقع المعني - مما يؤدي إلى زيادة مشاهدات الصفحة وعائدات الإعلانات وزيادة جمهورها. كان Feedly يسرق تمامًا تلك الميزة المحددة بعيدًا عن الموقع لتوسيع قاعدة المستخدمين الخاصة به. تضمن رمز Feedly عمليات التحقق من الأجهزة المحمولة التي من شأنها توجيه المستخدمين إلى صفحة متجر التطبيقات ذات الصلة.

عمل دالة (أين) { var actionName = "follow"؛ var url = " http://feedly.com/#" + encodeURIComponent ("subscription /" + feedInfo.id) ؛ إذا (/iPhone|iPad/i.test (navigator.userAgent)) { actionName = "تثبيت" ؛ عنوان url = " http://itunes.apple.com/us/app/feedly/id396069556"; } آخر إذا (/android/i.test (navigator.userAgent)) { actionName = "تثبيت" ؛ 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 = صحيح. window.event.stopPropagation () ؛ window.event.preventDefault () ؛ }

لم يكن "مجرد تسهيل عرض المقالة" - كان يسرق حركة المرور ، ببساطة وبساطة. هذا ليس رائعًا حقًا.

إصلاحهم الأول: قائمة استبعاد مشفرة

عندما اشتكى القارئ الرقمي لأول مرة إلى Feedly ، كان ردهم هو إعادة ترميز جافا سكريبت لتضمين قائمة الاستبعاد. لقد أضافوا حرفياً شيكًا إلى كل رابط Feedly لمعرفة ما إذا كان عنصرًا من "القارئ الرقمي" ، وإذا كان الأمر كذلك لتجاوز اختطاف الصفحة.


var siteExcludePatterns = ["/ TheDigitalReader /"] ، الدالة shouldExcludeSite (url)

هذه بالطبع طريقة سخيفة للغاية للقيام بذلك - هل كانوا يخططون للإضافة إلى هذه القائمة مع مرور الوقت وشكا المزيد من المدونين؟

رد نيت من القارئ الرقمي:

من أين تتوقف عن المطالبة بإلغاء الاشتراك في عملية الاختطاف الخاصة بك؟ إنه مثل القول أنه يجب أن أطلب من شخص ما التوقف عن ضربي في محفظة الوجه. ومع ذلك تعتقد أن هذا معقول؟

إصلاحهم الثاني: اختراق سريع لتجاوز كل الشفرة

بعد ما يمكنني أن أفترضه فقط هو العدد الهائل من الشكاوى التي تلت ذلك ، قاموا بتعديل فلتر الاختطاف على النحو التالي:

إذا (kind == "جزئي" || shouldExcludeSite (" http://www.techmeme.com/131202/p30#a131202p30" ) || صحيح ) { document.body.innerHTML = "" ؛ document.location.href = " http://www.techmeme.com/131202/p30#a131202p30"; }

يشير "جزئي" إلى المحتوى المسروق كونه خلاصة كاملة أو جزئية - ليس هناك فائدة من اختراق الخلاصات التي تنشر مقتطفًا فقط بعد كل شيء. من المفترض أن هذه الوظيفة بدأت باعتبارها الاختيار الوحيد الذي حدث عند اختيار ما إذا كان سيتم إرسال المستخدم إلى الموقع الأصلي أم لا. يمكنك رؤية الإصلاح الأول بعد ذلك ، والذي يستدعي الوظيفة للتحقق مما إذا كان هذا الموقع مدرجًا في قائمة المواقع التي تم تعطيلها ؛ ولكن بعد ذلك نرى الإصلاح النهائي في مكانه -


|| صحيح.

إذا كان لديك أي خبرة في البرمجة ، فسوف تتعرف على الاختراق السريع الذي يقول "سيتم تشغيل التعليمات البرمجية التالية دائمًا" ، وعادة ما يتم استخدامها فقط في تصحيح الأخطاء. إذا كان أي من هذه الشروط الثلاثة صحيحًا (لم يعد الأولان مهمين) ، فإن Feedly يعيد توجيه المستخدمين على الفور إلى الموقع الأصلي.

وهنا يقف الآن. فماذا تعلمنا؟

بشكل أساسي ، ذهب Feedly إلى إنشاء نوع من تجربة القراءة المنخفضة ، ولكن بالطريقة التي ذهبوا بها ذلك - كانت إعادة كتابة الروابط لنشر خدماتهم الخاصة من خلال الأسهم الاجتماعية اللاحقة أمرًا ملعونًا للغاية مقزز. هذه ليست الخطوة السيئة الوحيدة التي قام بها Feedly مؤخرًا أيضًا - الشهر الماضي بدأ يتطلب تسجيل الدخول باستخدام حسابات Google+ (بعد أن رأيت مدى نجاح تسجيل الدخول إلى Google+ لـ YouTube تنظيف قسم التعليقات في YouTube الآن ، بفضل + Googleنظفت Google YouTube باستخدام نظام تعليق جديد مدعوم من Google+. سترى الآن التعليقات الأكثر تأييدًا ، التعليقات من الأشخاص في دوائرك على + Google ومن مالك الفيديو. اقرأ أكثر ، على ما أظن) ، ولكن تم إرجاع ذلك أيضًا بسرعة. الدرس هو - قد ترغب في البدء في العثور على تغذية بديلة نهاية قارئي Google قريبة: استعدوا مع هؤلاء القراء RSS البديلةجوجل القارئ مات. بحلول شهر يوليو ، سيتم إغلاق خدمة RSS الرئيسية للإنترنت إلى الأبد ، مما يترك المستخدمين ليجدوا بديلًا بأنفسهم. إذا كنت تبحث عن مكافئ لـ Google فهذه فقط ... اقرأ أكثر ، ما لم يتم دفعك بالفعل لدفع 99 دولارًا لحساب Pro.

جيمس حاصل على درجة البكالوريوس في الذكاء الاصطناعي ، وهو حاصل على شهادة CompTIA A + و Network +. وهو المطور الرئيسي لـ MakeUseOf ، ويقضي وقت فراغه في لعب كرة الطلاء VR وألعاب الطاولة. لقد كان يبني أجهزة الكمبيوتر منذ أن كان طفلاً.