Pag-alis ng "vk.com/away.php" o pagsunod sa mga link mula sa isang malusog na tao

Sa pamamagitan ng pag-click sa mga link na nai-post sa VKontakte, mapapansin mo na, tulad ng sa iba pang mga social network, una ay mayroong isang paglipat sa isang "ligtas" na link, pagkatapos ay nagpasya ang social network kung ang gumagamit ay dapat payagan pa o hindi. Karamihan sa mga taong matulungin ay napansin ang kalahating segundong hitsura ng "vk.com/away.php" sa address bar ng browser, ngunit, siyempre, ay hindi nag-attach ng anumang kahalagahan dito.

Pag-alis ng "vk.com/away.php" o pagsunod sa mga link mula sa isang malusog na tao

prehistory

Isang araw, isang programmer, na nakumpleto ang isa pang proyekto, napagtanto na siya ay nahuhumaling sa pagnanais na sabihin sa lahat ang tungkol dito. Ang proyekto ay na-host sa isang server na may natatanging IP, ngunit walang domain name. Samakatuwid, mabilis na ginawa ang magandang third-level na subdomain sa .ddns.net na domain, na sa huli ay ginamit bilang isang link. 

Pagbabalik sa post pagkaraan ng ilang sandali, natuklasan ng programmer na sa halip na ang site, isang VK stub ang nagbubukas, na nagpapaalam tungkol sa paglipat sa isang hindi ligtas na site:

Pag-alis ng "vk.com/away.php" o pagsunod sa mga link mula sa isang malusog na tao

Mukhang ang mga matalinong gumagamit mismo ay may karapatang magpasya kung aling site ang dapat nilang puntahan at kung alin ang hindi, ngunit iba ang iniisip ng VKontakte at hindi nagbibigay ng anumang pagkakataon na sundin ang link nang walang saklay.

anong mali

Ang pagpapatupad na ito ay may ilang makabuluhang disadvantages:

  • Kawalan ng kakayahang magbukas ng kahina-hinalang site. Gaya ng nakasaad sa itaas, ang user ay walang paraan upang madaig ang stub. Ang tanging paraan upang buksan ang link ay kopyahin at i-paste ito sa address bar.
  • Pinapabagal ang pag-navigate sa link. Ang bilis ng pag-redirect ay depende sa ping. Alinsunod dito, sa isang mataas na ping, ang mahalagang mga segundo ng buhay ay maaaring mawala, na, tulad ng alam natin, ay hindi katanggap-tanggap.
  • Pagsubaybay sa paglipat. Pinapadali ng pamamaraang ito ang pagkolekta ng impormasyon tungkol sa mga aksyon ng user, na, siyempre, ang ginagamit ng VK, na idinaragdag sa secure na link ang id ng post kung saan ginawa ang paglipat.

Pinalaya si Django

Ang pinakamainam na solusyon sa lahat ng mga problema sa itaas ay maaaring isang extension ng browser. Para sa mga malinaw na dahilan, ang pagpipilian ay nasa Chrome. Mayroong isang mahusay sa hub artikulo Isang artikulong nakatuon sa pagsulat ng mga extension para sa Chrome.

Upang gumawa ng ganoong extension, kakailanganin naming gumawa ng dalawang file sa isang hiwalay na folder: isang json-Manifest at isang JavaScript file upang masubaybayan ang kasalukuyang url address.

Gumawa ng Manifest file

Ang pangunahing bagay na kailangan namin ay bigyan ang extension ng pahintulot na gumana sa mga tab at magtalaga ng isang maipapatupad na script:

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

Lumikha ng isang js file

Ang lahat ay simple dito: sa kaganapan na tinawag kapag ang isang bagong tab ay nilikha, nagdaragdag kami ng tseke para sa url address kung ito ay nagsisimula sa "vk.com/away.php", pagkatapos ay palitan ito ng tama, na nasa kahilingan ng 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});
		}
	});
});

Pagtitipon ng extension

Pagkatapos matiyak na ang parehong mga file ay nasa parehong folder, buksan ang Chrome, piliin ang tab ng extension at i-click ang "I-load ang hindi naka-pack na extension". Sa window na bubukas, piliin ang folder ng nakasulat na pinalawig na file at i-click ang Kolektahin. handa na! Ngayon ang lahat ng mga link tulad ng vk.com/away ay pinalitan ng mga orihinal.

Sa halip ng isang konklusyon

Siyempre, ang ganitong uri ng stub ay nagligtas ng maraming tao mula sa milyun-milyong mapanlinlang na site, gayunpaman, naniniwala ako na ang mga tao mismo ay may karapatang magpasya kung mag-click sa isang hindi ligtas na link o hindi.
Para sa kaginhawahan, nai-post ko ang proyekto sa github.

Pinagmulan: www.habr.com

Magdagdag ng komento