Forigi "vk.com/away.php" aŭ sekvi ligilojn de sana persono

Alklakante la ligilojn afiŝitaj sur Vkontakte, vi rimarkos, ke, kiel en aliaj sociaj retoj, unue okazas transiro al "sekura" ligilo, post kiu la socia reto decidas ĉu la uzanto devas esti permesita plu aŭ ne. Plej atentaj homoj rimarkis la duonsekundan aperon de "vk.com/away.php" en la adresbreto de la retumilo, sed kompreneble ne donis al ĝi ajnan gravecon.

Forigi "vk.com/away.php" aŭ sekvi ligilojn de sana persono

antaŭhistorio

Iun tagon, certa programisto, kompletiginte alian projekton, rimarkis, ke li estas obsedita de la deziro rakonti al ĉiuj pri ĝi. La projekto estis gastigita sur servilo kun unika IP, sed sen domajna nomo. Tial, bela trianivela subdomajno estis rapide kreita en la domajno .ddns.net, kiu finfine estis uzata kiel ligilo. 

Revenante al la afiŝo post iom da tempo, la programisto malkovris, ke anstataŭ la retejo malfermiĝis VK-stumpo, informante pri la transiro al nesekura retejo:

Forigi "vk.com/away.php" aŭ sekvi ligilojn de sana persono

Ŝajnus, ke inteligentaj uzantoj mem rajtas decidi, kiun retejon ili devas iri kaj kiu ne, sed VKontakte pensas malsame kaj ne donas ajnan ŝancon sekvi la ligilon sen lambastonoj.

Kio malbonas

Ĉi tiu efektivigo havas plurajn signifajn malavantaĝojn:

  • Nekapablo malfermi suspektindan retejon. Kiel dirite supre, la uzanto ne havas manieron venki la stumpon. La nura maniero malfermi la ligilon estas kopii kaj alglui ĝin en la adresbreton.
  • Malrapidigas la ligan navigadon. La alidirekta rapido dependas de la ping. Sekve, kun alta ping, altvaloraj sekundoj de vivo povas esti perditaj, kio, kiel ni scias, ne estas akceptebla.
  • Monitorado de transiro. Ĉi tiu metodo faciligas kolekti informojn pri uzant-agoj, kio, kompreneble, estas tio, kion VK uzas, aldonante al la sekura ligilo la identigilon de la afiŝo de kiu la transiro estis farita.

Liberigante Djangon

La optimuma solvo al ĉiuj ĉi-supraj problemoj povas esti retumila etendo. Pro evidentaj kialoj, la elekto falas sur Chrome. Estas bonega sur la nabo artikolo Artikolo dediĉita al verkado de etendaĵoj por Chrome.

Por krei tian etendon, ni devos krei du dosierojn en aparta dosierujo: json-Manifest kaj JavaScript-dosiero por kontroli la nunan url-adreson.

Kreu Manifestan dosieron

La ĉefa afero, kiun ni bezonas, estas doni al la etendaĵo permeson labori kun langetoj kaj asigni plenumeblan skripton:

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

Kreu js-dosieron

Ĉio ĉi tie estas simpla: en la evento vokita kiam nova langeto estas kreita, ni aldonas kontrolon por la url-adreso se ĝi komenciĝas per "vk.com/for.php", tiam anstataŭigu ĝin per la ĝusta, kiu estas en la GET-peto:

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});
		}
	});
});

Kunvenado de la etendo

Post certigi, ke ambaŭ dosieroj estas en la sama dosierujo, malfermu Chrome, elektu la etendan langeton kaj alklaku "Ŝargi malpakitan etendon". En la fenestro kiu malfermiĝas, elektu la dosierujon de la skribita etendita dosiero kaj alklaku Kolekti. Preta! Nun ĉiuj ligiloj kiel vk.com/away estas anstataŭigitaj per la originalaj.

Anstataŭ konkludo

Kompreneble, ĉi tiu tipo de stumbo savis multajn homojn de milionoj da fraŭdaj retejoj, tamen mi kredas, ke homoj mem rajtas decidi ĉu klaki sur nesekura ligilo aŭ ne.
Por komforto, mi afiŝis la projekton GitHub.

fonto: www.habr.com

Aldoni komenton