Ослободување од „vk.com/away.php“ или следење врски од здрава личност

Со кликнување на врските објавени на VKontakte, ќе забележите дека, како и во другите социјални мрежи, прво се преминува кон „безбедна“ врска, по што социјалната мрежа одлучува дали на корисникот треба да му се дозволи дополнително или не. Повеќето внимателни луѓе забележаа појава на половина секунда на „vk.com/away.php“ во лентата за адреси на прелистувачот, но, се разбира, не му придаваа никаква важност.

Ослободување од „vk.com/away.php“ или следење врски од здрава личност

праисторијата

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

Враќајќи се на објавата по некое време, програмерот откри дека наместо страницата, се отвора никулец VK, известувајќи за преминот кон небезбедна локација:

Ослободување од „vk.com/away.php“ или следење врски од здрава личност

Се чини дека самите паметни корисници имаат право да одлучат на која страница да одат, а на која не, но VKontakte размислува поинаку и не дава никаква можност да ја следат врската без патерици.

Што не е во ред

Оваа имплементација има неколку значајни недостатоци:

  • Неможност да се отвори сомнителна локација. Како што е наведено погоре, корисникот нема начин да го надмине никулецот. Единствениот начин да ја отворите врската е да ја копирате и залепите во лентата за адреси.
  • Ја успорува навигацијата на линкови. Брзината на пренасочување зависи од пингот. Според тоа, со висок пинг може да се изгубат драгоцени секунди од животот, што, како што знаеме, не е прифатливо.
  • Мониторинг на транзиција. Овој метод го олеснува собирањето информации за корисничките дејства, што, се разбира, го користи VK, додавајќи на безбедната врска ID на објавата од која е направена транзицијата.

Ослободување на Џанго

Оптималното решение за сите горенаведени проблеми може да биде екстензија на прелистувачот. Од очигледни причини, изборот паѓа на 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

Додадете коментар