Отървете се от „vk.com/away.php“ или следвайте връзки от здрав човек

Щраквайки върху връзките, публикувани във VKontakte, ще забележите, че както в други социални мрежи, първо има преход към „безопасна“ връзка, след което социалната мрежа решава дали потребителят трябва да бъде допуснат по-нататък или не. Повечето внимателни хора забелязаха появата на половин секунда на „vk.com/away.php“ в адресната лента на браузъра, но, разбира се, не му придадоха никакво значение.

Отървете се от „vk.com/away.php“ или следвайте връзки от здрав човек

праистория

Един ден определен програмист, завършил друг проект, осъзнал, че е обсебен от желанието да разкаже на всички за него. Проектът беше хостван на сървър с уникален IP, но без име на домейн. Затова бързо беше създаден красив поддомейн от трето ниво в домейна .ddns.net, който в крайна сметка беше използван като връзка. 

Връщайки се към публикацията след известно време, програмистът откри, че вместо сайта се отваря VK мъниче, което информира за прехода към опасен сайт:

Отървете се от „vk.com/away.php“ или следвайте връзки от здрав човек

Изглежда, че умните потребители сами имат право да решават кой сайт да отидат и кой не, но VKontakte мисли различно и не предоставя никаква възможност да следвате връзката без патерици.

Какво не е наред

Това изпълнение има няколко съществени недостатъка:

  • Невъзможност за отваряне на подозрителен сайт. Както беше посочено по-горе, потребителят няма начин да преодолее мъничето. Единственият начин да отворите връзката е да я копирате и поставите в адресната лента.
  • Забавя навигацията по връзките. Скоростта на пренасочване зависи от 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"
  }
}

Създайте 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});
		}
	});
});

Сглобяване на разширението

След като се уверите, че и двата файла са в една и съща папка, отворете Chrome, изберете раздела за разширение и щракнете върху „Зареждане на разопаковано разширение“. В прозореца, който се отваря, изберете папката на записания разширен файл и щракнете върху Събиране. Готов! Сега всички връзки като vk.com/away са заменени с оригиналните.

Вместо заключение

Разбира се, този тип мъниче е спасил много хора от милиони измамни сайтове, но аз вярвам, че хората сами имат правото да решат дали да кликнат върху опасна връзка или не.
За удобство публикувах проекта на GitHub.

Източник: www.habr.com

Добавяне на нов коментар