خلاص شدن از شر "vk.com/away.php" یا دنبال کردن پیوندهای یک فرد سالم

با کلیک بر روی پیوندهای ارسال شده در VKontakte، متوجه خواهید شد که مانند سایر شبکه های اجتماعی، ابتدا یک انتقال به یک پیوند "ایمن" وجود دارد، پس از آن شبکه اجتماعی تصمیم می گیرد که آیا کاربر باید اجازه بیشتری داشته باشد یا خیر. اکثر افراد توجه متوجه ظاهر نیم ثانیه "vk.com/away.php" در نوار آدرس مرورگر شدند، اما، البته، هیچ اهمیتی برای آن قائل نشدند.

خلاص شدن از شر "vk.com/away.php" یا دنبال کردن پیوندهای یک فرد سالم

ماقبل تاریخ

یک روز، یک برنامه نویس خاص که پروژه دیگری را تکمیل کرده بود، متوجه شد که تمایل دارد به همه در مورد آن بگوید. این پروژه بر روی سروری با IP منحصر به فرد، اما بدون نام دامنه میزبانی شد. بنابراین، به سرعت یک زیر دامنه زیبا در سطح سوم در دامنه .ddns.net ایجاد شد که در نهایت به عنوان یک لینک استفاده شد. 

پس از مدتی به پست بازگشت، برنامه نویس متوجه شد که به جای سایت، یک VK خرد در حال باز شدن است که از انتقال به یک سایت ناامن اطلاع می دهد:

خلاص شدن از شر "vk.com/away.php" یا دنبال کردن پیوندهای یک فرد سالم

به نظر می رسد که کاربران هوشمند خودشان این حق را دارند که تصمیم بگیرند به کدام سایت بروند و کدام نه ، اما VKontakte متفاوت فکر می کند و هیچ فرصتی برای دنبال کردن پیوند بدون عصا فراهم نمی کند.

مشکل چیه

این پیاده سازی چندین معایب قابل توجه دارد:

  • عدم امکان باز کردن سایت مشکوک همانطور که در بالا ذکر شد، کاربر راهی برای غلبه بر خرد ندارد. تنها راه برای باز کردن پیوند این است که آن را کپی و در نوار آدرس قرار دهید.
  • سرعت ناوبری لینک را کاهش می دهد. سرعت تغییر مسیر به پینگ بستگی دارد. بر این اساس با پینگ بالا ممکن است ثانیه های گرانبهایی از زندگی از بین برود که همانطور که می دانیم قابل قبول نیست.
  • نظارت بر انتقال این روش جمع‌آوری اطلاعات مربوط به اقدامات کاربر را آسان‌تر می‌کند، که البته VK از آن استفاده می‌کند و شناسه پستی را که انتقال از آن انجام شده به پیوند امن اضافه می‌کند.

آزاد کردن جانگو

راه حل بهینه برای تمام مشکلات فوق می تواند یک افزونه مرورگر باشد. به دلایل واضح، انتخاب بر عهده کروم است. یک عالی در هاب وجود دارد مقاله مقاله ای اختصاص داده شده به نوشتن برنامه های افزودنی برای کروم.

برای ایجاد چنین پسوندی، باید دو فایل را در یک پوشه جداگانه ایجاد کنیم: یک فایل json-Manifest و یک فایل جاوا اسکریپت برای نظارت بر آدرس url فعلی.

یک فایل Manifest ایجاد کنید

نکته اصلی که ما نیاز داریم این است که به برنامه افزودنی اجازه کار با تب ها و اختصاص یک اسکریپت اجرایی را بدهیم:

{
  "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"
  }
}

یک فایل js ایجاد کنید

همه چیز در اینجا ساده است: در رویدادی که هنگام ایجاد یک برگه جدید نامیده می شود، اگر آدرس 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});
		}
	});
});

مونتاژ پسوند

پس از اطمینان از اینکه هر دو فایل در یک پوشه قرار دارند، کروم را باز کنید، تب افزونه را انتخاب کنید و روی "بارگیری افزونه بدون بسته بندی" کلیک کنید. در پنجره باز شده پوشه فایل توسعه یافته نوشته شده را انتخاب کرده و روی Collect کلیک کنید. آماده! اکنون همه پیوندهایی مانند vk.com/away با لینک های اصلی جایگزین شده اند.

به جای یک نتیجه گیری

البته، این نوع خرد افراد زیادی را از میلیون ها سایت کلاهبرداری نجات داده است، با این حال، من معتقدم که افراد خود حق دارند تصمیم بگیرند که آیا روی یک لینک ناامن کلیک کنند یا نه.
برای راحتی کار، پروژه را در سایت قرار دادم گیتهاب.

منبع: www.habr.com

اضافه کردن نظر