A VKontakte-on közzétett linkekre kattintva észreveszi, hogy más közösségi hálózatokhoz hasonlóan először is át kell térni egy „biztonságos” linkre, amely után a közösségi hálózat eldönti, hogy engedélyezni kell-e a felhasználót vagy sem. A legtöbb figyelmes ember észrevette a „vk.com/away.php” fél másodperces megjelenését a böngésző címsorában, de természetesen nem tulajdonítottak neki jelentőséget.
őstörténet
Egy nap egy bizonyos programozó, miután befejezett egy másik projektet, rájött, hogy megszállottja a vágy, hogy mindenkinek elmesélje ezt. A projekt egy egyedi IP-című, de domain név nélküli szerveren futott. Ezért a .ddns.net tartományban gyorsan létrejött egy gyönyörű harmadik szintű aldomain, amelyet végül hivatkozásként használtak.
Egy idő után a bejegyzéshez visszatérve a programozó felfedezte, hogy az oldal helyett egy VK csonk nyílik, amely egy nem biztonságos oldalra való átállásról tájékoztat:
Úgy tűnik, maguknak az okos felhasználóknak joguk van eldönteni, hogy melyik webhelyre menjenek, és melyiket nem, de a VKontakte másként gondolkodik, és nem ad lehetőséget a link mankók nélküli követésére.
Mi a baj
Ennek a megvalósításnak számos jelentős hátránya van:
- Képtelenség megnyitni egy gyanús webhelyet. Ahogy fentebb említettük, a felhasználónak nincs módja leküzdeni a csonkot. A hivatkozás megnyitásának egyetlen módja, ha másolja és beilleszti a címsorba.
- Lelassítja a linkek navigálását. Az átirányítás sebessége a pingtől függ. Ennek megfelelően magas ping esetén értékes másodpercek veszhetnek el az életből, ami, mint tudjuk, nem elfogadható.
- Átmenet figyelése. Ez a módszer megkönnyíti az információgyűjtést a felhasználói műveletekről, amit természetesen a VK használ is, hozzáadva a biztonságos hivatkozáshoz annak a bejegyzésnek az azonosítóját, amelyről az átállás történt.
Django kiszabadítása
Az összes fenti probléma optimális megoldása egy böngészőbővítmény lehet. Nyilvánvaló okokból a Chrome-ra esik a választás. Van egy kiváló a hubon
Egy ilyen kiterjesztés létrehozásához két fájlt kell létrehoznunk egy külön mappában: egy json-Manifest-et és egy JavaScript-fájlt az aktuális URL-cím figyeléséhez.
Hozzon létre egy Manifest fájlt
A fő dolog, amire szükségünk van, hogy engedélyt adjunk a bővítménynek a lapokkal való együttműködésre, és egy végrehajtható szkriptet rendeljünk hozzá:
{
"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"
}
}
Hozzon létre egy js fájlt
Itt minden egyszerű: az új lap létrehozásakor meghívott eseménynél ellenőrizzük az url-címet, ha az "" karakterrel kezdődik
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});
}
});
});
A hosszabbító összeszerelése
Miután meggyőződött arról, hogy mindkét fájl ugyanabban a mappában van, nyissa meg a Chrome-ot, válassza ki a kiterjesztés fület, és kattintson a „Kicsomagolt bővítmény betöltése” elemre. A megnyíló ablakban válassza ki az írott kiterjesztett fájl mappáját, és kattintson a Gyűjtés gombra. Kész! Mostantól az összes hivatkozás, például a vk.com/away, az eredetire cserélve.
Ahelyett, hogy egy következtetés
Természetesen ez a fajta csonk sok embert megmentett a csalárd oldalak millióitól, azonban úgy gondolom, hogy az embereknek maguknak van joguk eldönteni, hogy kattintanak-e egy nem biztonságos hivatkozásra vagy sem.
A kényelem kedvéért közzétettem a projektet
Forrás: will.com