Duke kaluar nëpër lidhjet e postuara në Vkontakte, vëreni se si në rrjetet e tjera sociale, fillimisht ndodh kalimi në një lidhje "të sigurt", pas së cilës rrjeti social vendos nëse duhet ta lejojë përdoruesin të kalojë më tej apo jo. Shumica e njerëzve të vëmendshëm e kanë vënë re shfaqjen për një pjesë sekonde të "vk.com/away.php" në shiritin e adresës së shfletuesit, por, sigurisht, nuk i kanë dhënë rëndësi.

Historia e mëparshme
Një herë, një programues, pas përfundimit të një projekti, e kuptoi se ishte i ndikuar nga dëshira për ta ndarë atë me të gjithë. Projekti ishte vendosur në një server me një IP unike, por pa emër domaini. Prandaj, u krijua me nxitim një subdomain të bukur në domenin .ddns.net, i cili u përdor për lidhjen.
Kur u kthye disa kohë më vonë në postim, programuesi zbuloi se në vend të faqes hapeshin një mesazh nga VK, duke njoftuar për kalimin në një faqe të pasigurt:

Mund të duket se përdoruesit e zgjuar kanë të drejtë të vendosin se në cilën faqe duhet të kalojnë dhe në cilën nuk duhet, megjithatë Vkontakte mendon ndryshe dhe nuk ofron ndonjë mundësi për të kaluar në lidhje pa ndihmës.
Çfarë nuk shkon
Kjo realizim ka disa disavantazhe të konsiderueshme:
- Mungesa e mundësisë për të hapur një faqe të dyshimtë. Siç u tha më sipër, përdoruesi nuk ka mundësi të kalojë murin. Mënyra e vetme për të hapur lidhjen është ta kopjoni atë dhe ta vendosni në shiritin e adresës.
- Ngadalëson kalimin nëpër lidhje. Shpejtësia e ridrejtimit varet nga ping-u. Si pasojë, me një ping të lartë, mund të humbasin disa sekonda të çmuara të jetës, që, siç e dimë, nuk është e pranuar.
- Monitorimi i kalimeve. Ky metodë lehtëson grumbullimin e informacionit mbi veprimet e përdoruesve, në të cilën VK përfiton, duke shtuar në lidhjen e sigurt id-në e postit nga i cili u bë kalimi.
Lirojmë Django
Zgjidhja optimale për të gjitha problemet e mësipërme mund të jetë një zgjerim për shfletuesin. Për arsye të dukshme, zgjedhja bie mbi Chrome. Në Habrë ka një artikull të shkëlqyer të kushtuar krijimit të zgjerimeve për Chrome.
Për të krijuar një zgjerim të tillë, na nevojitet të krijojmë në një dosje të veçantë dy skedarë: json-Manifest dhe një skedar JavaScript për të monitoruar adresën aktuale URL.
Krijojmë skedarin Manifest
Gjëja kryesore që na nevojitet është t'i japim zgjerimit leje për të punuar me skedat dhe të caktosh skenarin ekzekutues:
{
"manifest_version": 2,
"name": "Ik nga vk.com/away",
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"permissions": ["tabs"],
"browser_action": {
"default_title": "Ik nga vk.com/away"
}
}
Krijojmë një skedë js
Këtu është gjithçka e thjeshtë: në ngjarjen që aktivizohet kur krijohet një skedë e re, shtojmë një kontroll për adresën e URL, nëse ajo fillon me "", atëherë e zëvendësojmë me të saktën, e cila ndodhet në GET-urgen:
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});
}
});
});
Mblidhni zgjerimin
Duke u siguruar që të dy skedarët ndodhen në një dosje, hapni Chrome, zgjidhni skedën e zgjerimeve dhe klikoni "Ngarko zgjerimin e papërpunuar". Në dritaren që hapet, zgjidhni dosjen e zgjerimit të shkruar dhe klikoni mbledh. Gatshëm! Tani të gjitha lidhjet e llojit vk.com/away zëvendësohen me origjinalet.
Në përfundim
Sigurisht, ky lloj mbrojtësish ka shpëtuar shumë njerëz nga miliona faqe falsifikimi, megjithatë, unë besoj se njerëzit vetë kanë të drejtë të vendosin nëse do të kalojnë në një lidhje të pa sigurt apo jo.
Për lehtësi, unë e kam vendosur projektin në .
Burimi: habr.com
