Ազատվել «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-ի վրա: Գերազանց կա հանգույցի վրա հոդված Քրոմի համար ընդարձակման համար գրելու մասին հոդված:

Նման ընդլայնում ստեղծելու համար մենք պետք է առանձին թղթապանակում ստեղծենք երկու ֆայլ՝ json-Manifest և JavaScript ֆայլ՝ ընթացիկ url հասցեն վերահսկելու համար։

Ստեղծեք Manifest ֆայլ

Հիմնական բանը, որ մեզ անհրաժեշտ է, ընդլայնման թույլտվություն տալն է ներդիրների հետ աշխատելու և գործարկվող սցենար նշանակելու համար.

{
  "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«Այնուհետեւ այն փոխարինեք ճիշտ մեկով, որը ստացման հարցում է.

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.

Source: www.habr.com

Добавить комментарий