Debarase m de "vk.com/away.php" oswa swiv lyen ki soti nan yon moun ki an sante

Lè w klike sou lyen ki afiche sou VKontakte, w ap remake ke, tankou nan lòt rezo sosyal, premye gen yon tranzisyon nan yon lyen "san danje", apre sa rezo sosyal la deside si itilizatè a ta dwe gen dwa pi lwen oswa ou pa. Pifò moun ki atantif remake aparans nan mwatye dezyèm nan "vk.com/away.php" nan ba adrès la nan navigatè a, men, nan kou, pa t 'tache okenn enpòtans nan li.

Debarase m de "vk.com/away.php" oswa swiv lyen ki soti nan yon moun ki an sante

pre-istwa

Yon jou, yon pwogramè sèten, li te fini yon lòt pwojè, reyalize ke li te obsede ak dezi a di tout moun sou li. Pwojè a te anime sou yon sèvè ak yon IP inik, men san yo pa yon non domèn. Se poutèt sa, yon bèl twazyèm-nivo subdomain te byen vit kreye nan domèn nan .ddns.net, ki te finalman itilize kòm yon lyen. 

Retounen nan pòs la apre yon ti tan, pwogramè a te dekouvri ke olye pou yo sit la, yon souch VK t ap louvri, enfòme sou tranzisyon an nan yon sit ki pa an sekirite:

Debarase m de "vk.com/away.php" oswa swiv lyen ki soti nan yon moun ki an sante

Li ta sanble ke itilizatè entelijan tèt yo gen dwa deside ki sit yo ta dwe ale nan ak ki pa, men VKontakte panse yon fason diferan epi yo pa bay okenn opòtinite yo swiv lyen an san yo pa beki.

Ki sa ki mal

Aplikasyon sa a gen plizyè dezavantaj enpòtan:

  • Enkapasite yo louvri yon sit sispèk. Jan sa di pi wo a, itilizatè a pa gen okenn fason simonte souch la. Sèl fason pou louvri lyen an se kopye epi kole li nan ba adrès la.
  • Ralenti navigasyon lyen. Vitès redireksyon an depann sou ping la. An konsekans, ak yon gwo ping, segonn presye nan lavi yo ka pèdi, ki, jan nou konnen, se pa akseptab.
  • Siveyans tranzisyon. Metòd sa a fè li pi fasil pou kolekte enfòmasyon sou aksyon itilizatè yo, ki, nan kou, se sa VK itilize, ajoute nan lyen an sekirite id la nan pòs la ki soti nan ki te fè tranzisyon an.

Libere Django

Solisyon an pi bon nan tout pwoblèm ki anwo yo ka yon ekstansyon navigatè. Pou rezon evidan, chwa a tonbe sou Chrome. Gen yon sèl ekselan sou mwaye a atik Yon atik dedye a ekri ekstansyon pou Chrome.

Pou kreye yon ekstansyon konsa, nou pral bezwen kreye de fichye nan yon katab separe: yon json-Manifest ak yon fichye JavaScript pou kontwole adrès url aktyèl la.

Kreye yon fichye Manifest

Bagay pwensipal lan nou bezwen se bay ekstansyon pèmisyon pou travay ak onglè epi bay yon script ègzèkutabl:

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

Kreye yon dosye js

Tout bagay se senp isit la: nan evènman an rele lè yo kreye yon nouvo tab, nou ajoute yon chèk pou adrès url la si li kòmanse ak "vk.com/away.php", Lè sa a, ranplase li ak youn ki kòrèk la, ki se nan demann lan 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});
		}
	});
});

Rasanble ekstansyon an

Apre w fin asire w ke tou de fichye yo nan menm katab la, louvri Chrome, chwazi tab ekstansyon an epi klike sou "Chaje ekstansyon depake". Nan fennèt ki ouvè a, chwazi katab dosye pwolonje ekri a epi klike sou Kolekte. Pare! Koulye a, tout lyen tankou vk.com/away yo ranplase ak sa yo orijinal yo.

Olye pou yo yon konklizyon

Natirèlman, sa a ki kalite souch te sove anpil moun nan dè milyon de sit fwod, sepandan, mwen kwè ke moun tèt yo gen dwa deside si yo klike sou yon lyen ki pa an sekirite oswa ou pa.
Pou konvenyans, mwen afiche pwojè a sou GitHub.

Sous: www.habr.com

Add nouvo kòmantè