"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 కోసం పొడిగింపులను వ్రాయడానికి అంకితమైన కథనం.

అటువంటి పొడిగింపును సృష్టించడానికి, మేము ప్రత్యేక ఫోల్డర్‌లో రెండు ఫైల్‌లను సృష్టించాలి: ప్రస్తుత url చిరునామాను పర్యవేక్షించడానికి json-Manifest మరియు JavaScript ఫైల్.

మానిఫెస్ట్ ఫైల్‌ను సృష్టించండి

ట్యాబ్‌లతో పని చేయడానికి పొడిగింపు అనుమతిని ఇవ్వడం మరియు ఎక్జిక్యూటబుల్ స్క్రిప్ట్‌ను కేటాయించడం మనకు అవసరమైన ప్రధాన విషయం:

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

ఒక వ్యాఖ్యను జోడించండి