A hivatkozásokra kattintva, amelyek a Vkontakte-on találhatók, észlelhető, hogy, akárcsak a többi közösségi hálón, először egy "biztonságos" hivatkozásra történik a navigálás, majd a közösségi hálózat eldönti, hogy tovább engedje-e a felhasználót vagy sem. A legtöbb figyelmes ember észrevette, hogy egy fél másodpercre megjelenik a "vk.com/away.php" a böngésző címsorában, de természetesen nem tulajdonítottak ennek jelentőséget.

Háttér
Egyszer egy programozó, befejezve a legújabb projektjét, rájött, hogy megszállottan szeretné elmondani mindenkinek róla. A projekt egy egyedi IP-címmel rendelkező szerveren volt, de domain név nélkül. Ezért gyorsan készített egy szép harmadik szintű almappát a .ddns.net domén alatt, amit végül hivatkozásként használt.
Amikor egy idő múlva visszatért a poszthoz, a programozó felfedezte, hogy a weboldal helyett egy Vkontakte hibaoldal nyílik meg, amely arról tájékoztatja, hogy egy nem biztonságos weboldalra navigál:

Úgy tűnik, hogy a helyes felhasználók saját maguknak kellene eldönteniük, hogy melyik weboldalra kattintsanak, és melyikre nem, azonban a Vkontakte másképp gondolja, és nem kínál semmilyen lehetőséget, hogy trükkök nélkül rákattinthassanak a linkre.
Mi a probléma?
Ennek a megoldásnak több súlyos hátránya van:
- Nincs lehetőség a gyanús weboldal megnyitására. Ahogy korábban említettük, a felhasználónak nincs lehetősége a hibaoldal megkerülésére. Az egyetlen módja a link megnyitásának, hogy kimásolják azt és beillesztik a címsorba.
- Megnöveli a link megnyitásának időtartamát. A helyettesítés sebessége a pingtől függ. Így, ha a ping magas, értékes másodpercek tűnhetnek el, ami, mint tudjuk, elfogadhatatlan.
- Látogatásmonitoring. Ez a módszer megkönnyíti az információgyűjtést a felhasználók tevékenységeiről, amit természetesen a Vkontakte ki is használ, hozzáadva a biztonságos linkhez a poszt ID-ját, amelyről a navigálás történt.
Felszabadítjuk Django-t.
A fent említett problémák optimális megoldása egy böngészőbővítmény lehet. Nyilvánvaló okok miatt a Chrome-ra esik a választás. A Habr-on van egy kiváló cikk, amely a Chrome-bővítmények írásának szentelt.
A bővítmény létrehozásához szükség lesz két fájl létrehozására egy külön mappában: json-Manifest és JavaScript fájl a jelenlegi URL cím nyomon követésére.
Manifest fájl létrehozása.
A legfontosabb, amire szükségünk van, hogy engedélyezzük a bővítmény számára a tabokkal való munkát és hozzárendeljük a végrehajtó szkriptet:
{
"manifest_version": 2,
"name": "Fussunk el a vk.com/away-tól",
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"permissions": ["tabs"],
"browser_action": {
"default_title": "Fussunk el a vk.com/away-tól"
}
}
Hozzuk létre a js fájlt
Itt minden egyszerű: az új fül létrehozásakor bekövetkező eseményhez adjunk hozzá egy ellenőrzést az url címre, ha az ""-val kezdődik, akkor cseréljük ki a helyes címre, amely a GET-lekérdezésben található:
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});
}
});
});
Bővítmény létrehozása
Miután megbizonyosodtunk arról, hogy mindkét fájl egy mappában van, nyissuk meg a Chrome-ot, válasszuk ki a bővítmények lapot, és kattintsunk a „Kibővített bővítmény betöltése” gombra. A megnyíló ablakban válasszuk ki a megírt bővítmény mappáját, majd kattintsunk a létrehozásra. Kész! Most már minden vk.com/away típusú link az eredetire cserélődik.
Összegzésként
Természetesen ez a fajta blokk sok embert megmentett a csaló webhelyektől, de úgy gondolom, hogy az embereknek maguknak kell dönteniük, hogy át akarnak-e lépni egy nem biztonságos linkre.
A kényelem kedvéért a projektet itt helyeztem el .
Forrás: habr.com
