التخلص من “vk.com/away.php” أو متابعة الروابط من شخص سليم

من خلال النقر على الروابط المنشورة على VKontakte، ستلاحظ أنه، كما هو الحال في الشبكات الاجتماعية الأخرى، هناك أولاً انتقال إلى الرابط "الآمن"، وبعد ذلك تقرر الشبكة الاجتماعية ما إذا كان يجب السماح للمستخدم بالمزيد أم لا. لاحظ معظم الأشخاص اليقظين ظهور "vk.com/away.php" لمدة نصف ثانية في شريط عنوان المتصفح، لكنهم بالطبع لم يعطوا أي أهمية له.

التخلص من “vk.com/away.php” أو متابعة الروابط من شخص سليم

قبل التاريخ

في أحد الأيام، أدرك مبرمج معين، بعد أن أكمل مشروعًا آخر، أنه كان مهووسًا بالرغبة في إخبار الجميع عنه. تمت استضافة المشروع على خادم بعنوان IP فريد، ولكن بدون اسم مجال. لذلك، تم إنشاء نطاق فرعي جميل من المستوى الثالث بسرعة في النطاق .ddns.net، والذي تم استخدامه في النهاية كرابط. 

بالعودة إلى المنشور بعد فترة، اكتشف المبرمج أنه بدلاً من الموقع، تم فتح كعب روتين VK، للإبلاغ عن الانتقال إلى موقع غير آمن:

التخلص من “vk.com/away.php” أو متابعة الروابط من شخص سليم

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

ماذا دهاك

هذا التنفيذ له عدة عيوب كبيرة:

  • عدم القدرة على فتح موقع مشبوه. كما هو مذكور أعلاه، ليس لدى المستخدم أي وسيلة للتغلب على كعب الروتين. الطريقة الوحيدة لفتح الرابط هي نسخه ولصقه في شريط العناوين.
  • يبطئ التنقل الرابط. تعتمد سرعة إعادة التوجيه على اختبار ping. وبناء على ذلك، مع ارتفاع مستوى البينغ، قد يتم فقدان ثواني ثمينة من الحياة، وهو أمر غير مقبول كما نعلم.
  • مراقبة التحول. تسهل هذه الطريقة جمع المعلومات حول إجراءات المستخدم، وهو ما يستخدمه VK بالطبع، مما يضيف إلى الرابط الآمن معرف المنشور الذي تم النقل منه.

تحرير جانجو

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

لإنشاء مثل هذا الامتداد، سنحتاج إلى إنشاء ملفين في مجلد منفصل: ملف json-Manifest وملف JavaScript لمراقبة عنوان URL الحالي.

إنشاء ملف البيان

الشيء الرئيسي الذي نحتاجه هو منح الإذن بالامتداد للعمل مع علامات التبويب وتعيين برنامج نصي قابل للتنفيذ:

{
  "manifest_version": 2,
  "name": "Run Away From vk.com/away",
  "version": "1.0",
  "background": {
    "scripts": ["background.js"]
  },
  "permissions": ["tabs"],
  "browser_action": {
    "default_title": "Run Away From vk.com/away"
  }
}

إنشاء ملف جي إس

كل شيء بسيط هنا: في حالة إنشاء علامة تبويب جديدة، نضيف علامة اختيار لعنوان URL إذا كان يبدأ بـ "vk.com/away.php"، ثم استبدله بالصحيح الموجود في طلب GET:

chrome.tabs.onCreated.addListener( function (tabId, changeInfo, tab) {
	chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
		var url = tabs[0].url;
		if (url.substr(0,23) == "https://vk.com/away.php"){
			var last = url.indexOf("&", 0)
			if(last == -1)last = 1000;
			var url = decodeURIComponent(url.substr(27, last-27));
			chrome.tabs.update({url: url});
		}
	});
});

نحن نجمع التمديد

بعد التأكد من وجود كلا الملفين في نفس المجلد، افتح Chrome، وحدد علامة تبويب الامتداد وانقر على "تحميل الامتداد غير المعبأ". في النافذة التي تفتح، حدد مجلد الملف الموسع المكتوب وانقر فوق تجميع. مستعد! الآن تم استبدال جميع الروابط مثل vk.com/away بالروابط الأصلية.

بدلا من خاتمة

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

المصدر: www.habr.com

إضافة تعليق